January 28, 2016 — This Tuesday, AMD launched GPUopen, a suite of MIT-licensed development tools for graphics and GPGPU applications. GPGPU is integral to making mining hardware profitable for many cryptocurrencies, and with the upcoming launch of Vulkan and the recent Hack of AMD’s GCN architecture, many interesting possibilities for the Mining and Cryptocurrency communities present themselves.
The Trouble with GPGPU
We’ve found ourselves in a strange transitional period for both cryptocurrency and the hardware that makes it possible. Debates rage around the direction bitcoin can (or should) go. A bevy of new altcoins are coming into their own, and GPGPU hardware has reached a point of stagnation as major hardware manufacturers refine their newest architectures.
Successful decentralized services rely heavily on open source development and distribution, a concept markedly foreign to AMD and Nvidia when it comes to the software they provide for their cards. Nvidia’s CUDA was choked out of the cryptocurrency market as a standard for this reason. Thus far we’ve been limited from both a performance and development standpoint by the opacity of the closed drivers, only able to interface with GPGPU hardware via the provided SDKs. This introduces overhead, inefficiencies, and inconsistent performance where there needn’t be because developers can’t see what’s going on inside the driver binaries, or “blobs.”
GPUOpen Brings Transparency to the Table
The options outside of the manufacturer provided ones weren’t great for a long time. You could hack the binary drivers to uncover direct hardware access like Tomasz Stachowiak did for GCN, but you can’t ship finished code with these implementations because of all the legal trouble it’ll get you in. You could also use open source drivers, but up to this point they perform badly compared to the closed versions and have little to no support for GPGPU. GPUOpen turns this Paradigm on its head. It provides support and tools for OpenCL implementations on the open source AMD driver, enabling developers to get closer to the inner workings of the cards they’re writing applications for. This means improvements in a lot of areas down the road for AMD support, but it should be of particular interest to Cryptocurrency miners, because it means hashing overhead could come down and compute efficiency may very well rise, and all of this is happening for GCN hardware, which has been the miner’s GPU architecture of choice for some time now, given it’s OpenCL performance.
There’s one package from GPUOpen that should give the Crypto community pause: The ROCK open-source kernel driver. It allows more direct hardware access than one can achieve with the proprietary driver, and its liberal license means there are tremendous opportunities for permutation and optimization. In addition, development on the open source driver will push improvements for the open-source software stack, leading to stability and performance improvements comparable to what we see in the proprietary Catalyst driver, possibly replacing it on Unix-based systems. With Vulkan intended to replace OpenGL in the near future, having a solid open-source codebase to work from in case OpenCL stagnates or standards change is invaluable.
So what does this all mean in the context of the Cryptocurrency community? Well, Developing mining applications and setting up direct-compute proof of work just became a lot easier, a viable open source driver has come into play that lets developers see what the hardware is doing, which means lower overhead and faster hashing, as well as more granular control of compatibility and settings for the end user. There’s a lot to be unsure of moving forward into the new year, but a lot of it should be exciting for those that use or are interested in blockchain technology.
How do you think GPUOpen will affect Blockchain development? Let us know in the comments!
Images courtesy of Wikimedia commons, Vulkan Group