Wednesday, 16 September 2015

GPGPU using CUDA Thrust


Long time no see!

I just want to share the presentation that I gave during our weekly meeting in the CGV group in Delft. Usually we do two kind of presentations, the first one is related to our current project, while the second one is more technical and aims at teaching something useful to the other members of the group.

This presentation is of the second type. It aims at showing how CUDA Thrust can be used to implement GPGPU solutions without too much effort.

I think that CUDA is a great platform and I did a lot of work using it. 
However it is difficult to master and, without any high level interface, CUDA code is slow to implement.  I gave a couple of examples in my presentation:

  1. Preparing a CUDA kernel launch is somehow an annoying task. More than that the problem is related to the handling of the memory in the Device. I like how the OpenCV wrapped all the handling in the GpuMat class, however it is something that must be careful planned ahead and well designed with clear specifications.
  2. Memory access influences the performance: This is a key point! It is not so easy to implement an efficient algorithm in the GPU. You can find some details about all the challenges related to memory access at this link.

CUDA Thrust is a parallel algorithms library which resembles the C++ Standard Template Library (STL) and implements many common algorithms that can be used during your daily work.

So if you are already using STL's algorithms and data structures in your code, and you are tackling big problems by decomposing it to small and well known algorithms, CUDA Thrust can be very useful and easy to pick.


7 comments :

  1. nice article please click here for read more.

    ReplyDelete
    Replies
    1. GPGPU using CUDA Thrust, showing how parallel computing can be used very efficiently for advanced data processing and computations, streamlining workflow in technology and design alike. Innovative approaches can inspire fields such as kitchen design Dubai and luxury interior design Dubai, where creativity meets precision. Like with modern home design and arch design concepts, leveraging such technology can revolutionize home interior design. Similar office interior design companies in Dubai and restaurant interior design can use enhanced visualization and performance, presenting the latest office interior design in Dubai that rediscovers contemporary aesthetics and functionality.

      Delete
  2. Thanks for the indormation yopu have shared with us. With the latest new Digiperform in Madurai its will be more compforatble for the people to learn the course in there.

    ReplyDelete
  3. "This post was a real eye-opener! Thank you for sharing your expertise on the topic."
    Modular Kitchen & Wardrobe in Raipur

    ReplyDelete
  4. This blog post provides an insightful introduction to leveraging GPGPU using CUDA Thrust for high-performance computing tasks. As more businesses look to harness the power of parallel computing for data-intensive applications, understanding these concepts becomes crucial. Similarly, in the realm of digital marketing, leveraging data and analytics is key to driving successful campaigns. For those in Noida looking to master digital marketing, our course offers comprehensive training on integrating advanced data analysis techniques to optimize marketing strategies. Discover more about our Best Digital Marketing Course In Noida to stay ahead in this data-driven world.

    ReplyDelete