CUDA Sorting

From: Vitor Reus <vitor(dot)reus(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: CUDA Sorting
Date: 2011-09-19 12:11:14
Message-ID: CALf5ONrg3CPq9TEpoy+1hMUKGLwUfW5PqHJf++hKrt1fRRoqEA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello everyone,

I'm implementing a CUDA based sorting on PostgreSQL, and I believe it
can improve the ORDER BY statement performance in 4 to 10 times. I
already have a generic CUDA sort that performs around 10 times faster
than std qsort. I also managed to load CUDA into pgsql.

Since I'm new to pgsql development, I replaced the code of pgsql
qsort_arg to get used with the way postgres does the sort. The problem
is that I can't use the qsort_arg_comparator comparator function on
GPU, I need to implement my own. I didn't find out how to access the
sorting key value data of the tuples on the Tuplesortstate or
SortTuple structures. This part looks complicated because it seems the
state holds the pointer for the scanner(?), but I didn't managed to
access the values directly. Can anyone tell me how this works?

Cheers,
Vítor

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thom Brown 2011-09-19 12:27:59 Re: CUDA Sorting
Previous Message Kerem Kat 2011-09-19 08:57:03 Re: Adding CORRESPONDING to Set Operations