Spent a large portion of my afternoon today reading over OpenMP and then BSGP, which stands for Bulk-Synchronous GPU Programming. Essentially it is attempting to do something similar to what OpenMP attempts to do for concurrency to the GPU arena. By this, I mean it is for general purpose programming on GPUs, and it attempts to also be quasi-cross-compatible across different manufacturer's cards. As it is CUDA et al. is fine, but they are all limited to their respective manufacturer's cards only. BSGP takes a similar-to-C-syntax blurb as a kernel function for a large number of stream based processors to run in parallel (way more than just 2 or 4 cores - but they are only good at certain things as compared to a CPU).
Pretty interesting stuff, I hope to apply OpenMP to my projects in the future especially! Beware jumping straight into it though - I think the guide that I have linked to does a fairly good job of catching you up on it but ANY multi-threaded programming will benefit from a thorough understanding of the intricacies and difficulties-by-nature of concurrency/parallelization.
No comments:
Post a Comment