Subject: Graphics Cards, Processors | December 8, 2015 - 01:07 PM | Scott Michaud
Tagged: hsa, GCC, amd
Phoronix, the Linux-focused hardware website, highlighted patches for the GNU Compiler Collection (GCC) that implement HSA. This will allow newer APUs, such as AMD's Carrizo, to accelerate chunks of code (mostly loops) that have been tagged with a precompiler flag as valuable to be done on the GPU. While I have done some GPGPU development, many of the low-level specifics of HSA aren't areas that I have too much experience with.
The patches have been managed by Martin Jambor of SUSE Labs. You can see a slideshow presentation of their work on the GNU website. Even though features froze about a month ago, they are apparently hoping that this will make it into the official GCC 6 release. If so, many developers around the world will be able to target HSA-compatible hardware in the first half of 2016. Technically, anyone can do so regardless, but they would need to specifically use the unofficial branch on the GCC Subversion repository. This probably means compiling it themselves, and it might even be behind on a few features in other branches that were accepted into GCC 6.
Subject: General Tech | December 5, 2013 - 08:59 AM | Scott Michaud
Tagged: GCC, Rust, mozilla
Rust is an interesting language in that it aims to be safe and concurrent. It was discussed frequently at Mozilla Summit back in early October both on its own and in terms of the experimental HTML5 rendering engine, Servo. From how it was describe to me from other attendees, it prides itself on its task-based architecture. Basically, your application is (or, at least, is often) set up like a bunch of tasks that get scheduled concurrently and pass messages to one another if they want to communicate. This concept allow for efficient multithreading because each task is inherently independent.
This may remind you of the experiments John Carmack did with Wolfenstein and Haskell.
Apparently at least one developer from the GNU Compiler Collection (GCC) is also paying attention. Philip Herron has been working on the "gccrs" branch to create a GCC front-end for Mozilla's language.
We will need languages like Rust in the near future as processors continue to ramp up in thread count. Just look at the Xeon Phi story from last week: a bootable 288-thread standalone processor based on the Silvermont architecture. If you want this processor to be used efficiently then you better be light on the main thread otherwise your 6 TFLOPs (3 TFLOPs double-precision) will only be quick to behave like an Atom.