less_slow.cpp icon indicating copy to clipboard operation
less_slow.cpp copied to clipboard

Add cuGraph examples

Open ashvardanian opened this issue 11 months ago • 10 comments

We currently have a pretty extensive list of graph storage and processing approaches on the CPU, but lack GPU analogs. This can be a great opportunity to showcase both the more advanced and rarely used parts of the Nvidia libraries, as well as explore atomic variables and concurrent data-structure implementations on massively parallel chip architectures.

This is also worth covering on the Python side with the available Python cuGraph bindings:

ashvardanian avatar Jan 29 '25 21:01 ashvardanian

I can get started on this, can you elaborate on what you'd like to see as well as where in the project structure this should be placed?

syedshazli avatar Feb 13 '25 18:02 syedshazli

The cuGraph invocations should go into less_slow.cu, while the benchmark logic should go after the CPU-side Graph-related benchmarks in less_slow.cpp.

ashvardanian avatar Feb 13 '25 19:02 ashvardanian

Nice, I think you might have to assign the issue to me and I'll get started. I'll ask any questions in here along the way

syedshazli avatar Feb 13 '25 19:02 syedshazli

Done! Looking forward to your PR @syedshazli!

ashvardanian avatar Feb 13 '25 19:02 ashvardanian

Hi Ash, thanks for assigning me the issue. I've worked with Google benchmark in the past, but I was trying to use cmake as described in the README. Was wondering if you had anything like this message pop up before? I think my current version of Cmake (3.22) won't allow me to run the commands which require Cmake 3.25. When I try to upgrade versions, I get this.

Image

syedshazli avatar Feb 15 '25 00:02 syedshazli

@syedshazli , you can fetch a newer CMake from PyPi 🤗

ashvardanian avatar Feb 15 '25 00:02 ashvardanian

Hi Ash, I'm currently a University student having finals and projects due this week and next week, so I won't be able to set aside much time until next Friday. If you want to assign this PR to someone else or work on it yourself, feel free,if not then I can get started next week. Sorry for the inconvenience

syedshazli avatar Feb 27 '25 14:02 syedshazli

No rush! Best of luck with exams! Submit a PR whenever ready, @syedshazli 🤗

ashvardanian avatar Feb 27 '25 19:02 ashvardanian

Thank you!

syedshazli avatar Feb 27 '25 20:02 syedshazli

Hey Ash, I really like the way the repo is right now, but to be honest I've never used CUDA which is why I'm learning CUDA C right now. Sicne it might take some time to get the basics of CUDA down, I'm not sure how much help I can be when referencing Cugraph. This repo seeks to get the most efficient C++/Cuda code out there, and I don't know if I can writie it given I don't have the basics of it down yet.

So far reading the Cuda_by_example pdf out there by Nvidia.

syedshazli avatar Mar 12 '25 00:03 syedshazli