Spyke
gpu_programming·GPU_programmingbydragontamer

Efficiently Processing Large Relational Joins on GPUs

Saving this .pdf here.

The relational join operator is a very memory-intensive and even computationally-intensive operation. Though real-life databases can be in the TB range, there are a number of applications of smaller, memory-only databases that could feasibly fit in the 4GB or 8GB of smaller GPUs.

Its a well known fact that relational-joins (and joins-of-joins) can be parallelized. Database programmers meticulously perform planning-algorithms to optimize this important operation and parallelize it across cores or even systems. Seeing research into a natural GPU application warms my heart at least!

GPUs are well known to parallelize and improve upon sorting algorithms (see embarrassingly parallel solutions like Bitonic Sort... but also GPU-specific / SIMD-designed sorting algorithms like MergePath). One of the most common ways to perform a relational join is to sort both sets of data on the relational-join, and then linearly scan through both relations matching up (left.blah == right.blah). This paper seems to take this approach and measures how good GPUs are at this. (At least, for data that does fit in the GPU RAM).

There's also "Hash-Join", which is investigated in this paper as well.

https://arxiv.org/pdf/2312.00720.pdfOpen linkView original on lemmy.world
gpu_programming·GPU_programmingbydragontamer

Solving MaxSAT with Matrix Multiplication

The abstract stuck out to me, and I like dabbling in the 3SAT stuff on a hobby level.

The gist is that these researchers have utilized the TensorCores / FP16 Matrix Multiplication routines found in neural-network chips/instructions to start searching for MaxSAT (which seems to be related to 3SAT somehow, I'll be reading more about this...)

https://hgpu.org/?p=28742Open linkView original on lemmy.world
gpu_programming·GPU_programmingbydragontamer

Implementing a GPU's Programming Model on a CPU

Seems like a personal project that is basically a personal-version of the Intel "ispc" tool. Still, 2nd or 3rd programming languages of this nature isn't a bad thing, if anything, we need more ideas and more implementations to figure out how best to map GPU-like programming to AVX512 or other CPU SIMD languages.

https://litherum.blogspot.com/2023/10/implementing-gpus-programming-model-on.htmlOpen linkView original on lemmy.world