Well, that was embarrassing. Ever since NVIDIA Developer Zone was compromised by hackers in July, most of the DevZone content has been offline while NVIDIA’s crack team of web infrastructure and security engineers improve security. Unfortunately for me and you, dear reader, Parallel Forall was sidelined.
But we haven’t been resting on our laurels! On the contrary; we’ve toiled away for the great day when Parallel Forall comes back to life, planning and writing useful parallel programming content. Gregory Ruetsch and I have been busy writing two parallel (pun intended) series, “Programming CUDA with Fortran” (by Greg), and “Programming CUDA with C and C++” (by me). These series will start from the beginning to teach you how to program CUDA in your choice of Fortran or C/C++. We’ll cover the basics of writing and launching kernels, measuring performance, handling errors, efficiently transferring data, and much more.
Not all the content we have planned is for beginners, though. There will also be more advanced posts, including a post or two about efficiently building tree data structures in CUDA, by Tero Karras. We’re also planning to take deeper looks at some of the new features in CUDA 5, the CUDA Compiler SDK, and other interesting topics.
Even with a full pipeline, I’m always looking for great ideas for posts. So please use the contact form linked in the sidebar to tell us what you would like to hear about in the future. You can also contact me on twitter at @harrism. As always, don’t forget to subscribe to our RSS feed.
Welcome to Parallel Forall, NVIDIA’s developer blog focused on providing detailed technical information on a variety of GPU computing programming topics, including, including CUDA C/C++, OpenACC, GPU-accelerated libraries, GPU programming techniques, and much more. At Parallel Forall we will provide useful information about productive, high-performance programming techniques for the latest GPU technology. Our readers will have the opportunity to engage in discussion with leading experts in GPU computing from NVIDIA and our partners. We’ll be covering topics of interest to programmers of all levels, and from a variety of disciplines.
My name is Mark Harris. I’m curator of Parallel Forall and Chief Technologist for GPU Computing Software at NVIDIA. I have over ten years of experience developing software for GPUs, ranging from graphics and games, to physically-based simulation, to parallel algorithms and high-performance computing. I’ve been using GPUs for general-purpose computing since before they were up for the task—before they even supported floating point arithmetic! As a Ph.D. student at UNC I developed real-time cloud simulation and rendering software for GPUs (simulating clouds, not simulation in “the cloud”!). In 2002 I recognized this nascent trend and coined a name for it: GPGPU (General-Purpose computing on Graphics Processing Units). I started GPGPU.org to provide a forum for those working in the field to share and discuss their work, and it has grown into a top destination for information about GPU computing.
When I started, I wondered if GPGPU would ever become mainstream. Certainly it could not with the technology of the time. But today, GPU computing truly is a mainstream technology. World-changing science problems are being solved on GPUs. Many of the Top500 fastest supercomputers in the world are built with GPUs. GPUs can be programmed using the most popular programming languages, and there are dozens of open-source and commercial GPU-accelerated libraries available. GPU computing today is a growing industry with a mature ecosystem of applications, tools, and service providers.
I plan to apply my experience with GPUs to make Parallel Forall a rich source of information for existing GPU programmers as well as for readers who are just starting to explore the possibilities of GPU computing. I’ll be inviting a variety of expert guests from NVIDIA and elsewhere to write about interesting and deeply technical topics that I hope will keep you coming back for more. To that end, I’d love to hear from you what topics you’d like to learn more about! So please get in touch via the comment form below or the contact email in the sidebar!