Skip to content

The Exciting World of GPU Computing

October 5, 2012

With multi-core processors it is possible for a single application to branch off into a number of different sub-processes to improve performance. This is generically known as parallelization. Recent graphics co-processors or GPUs have the ability to execute programs in a similar parallel manner, only these processors are architected in a way so as to allow for more data to be processed at a time and often with many more processors.

The major drawback for this has always been that such parallel operations work best when there is a large amount of data which can be processed independently (rather than sequentially) and that the operations to be performed on the data are relatively simple. With graphics this is often the case but can be pretty rare in the case of most general purpose computing.

It turns out that one of InfinaDyne’s products – Vindex – does some parallel processing on the CPU already but new enhancements will make it a good candidate for making use of a GPU to perform much of the work of these enhancements.

There are two major tool sets for making use of a GPU: one from Nvidia called CUDA and OpenCL which originated from Apple. CUDA is Nvidia-specific but has better integration for developers, especially on Windows. OpenCL works on Nvidia, AMD and Intel GPUs which makes applications that use it . Both tool sets work on Windows, Linux and MacOS.

It is not clear how much work there is to transition between CUDA and OpenCL, but because of the better integration and especially debugging support, I am thinking of going down the CUDA road. The one factor against this is more and more forensic professionals are getting MacBook Pro computers which have built-in AMD GPUs. Alternatively, Nvidia-based graphics cards are showing up in high-end forensic workstations for assisting with password cracking. It will be interesting to see how things develop in the future.

Advertisements
No comments yet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: