Monday, November 16th 2015

AMD Launches The "Boltzmann Initiative," Brings NVIDIA CUDA to FirePro

Building on its strategic investments in heterogeneous system architecture (HSA), AMD (NASDAQ: AMD) announced a suite of tools designed to ease development of high-performance, energy efficient heterogeneous computing systems. The "Boltzmann Initiative" leverages HSA's ability to harness both central processing units (CPU) and AMD FirePro graphics processing units (GPU) for maximum compute efficiency through software. The first results of the initiative are featured this week at SC15 and include the Heterogeneous Compute Compiler (HCC); a headless Linux driver and HSA runtime infrastructure for cluster-class, High Performance Computing (HPC); and the Heterogeneous-compute Interface for Portability (HIP) tool for porting CUDA-based applications to a common C++ programming model. The tools are designed to drive application performance across markets ranging from machine learning to molecular dynamics, and from oil and gas to visual effects and computer-generated imaging.

"AMD's Heterogeneous-compute Interface for Portability enables performance portability for the HPC community. The ability to take code that was written for one architecture and transfer it to another architecture without a negative impact on performance is extremely powerful," said Jim Belak, co-lead of the U.S. Department of Energy's Exascale Co-design Center in Extreme Materials and senior computational materials scientist at Lawrence Livermore National Laboratory. "The work AMD is doing to produce a high-performance compiler that sits below high-level programming models enables researchers to concentrate on solving problems and publishing groundbreaking research rather than worrying about hardware-specific optimizations."

New Compiler for Heterogeneous Computing
The promise of combining multi-core, serial processing CPUs with parallel-processing GPUs to maximize compute efficiency is already being seen in the industry, as driven by the Heterogeneous Systems Architecture (HSA) Foundation that counts AMD as a founding member. One of the goals for HSA is easing the development of parallel applications through use of higher level languages. The new AMD "Boltzmann Initiative" suite includes an HCC compiler for C++ development, greatly expanding the field of programmers who can leverage HSA. The new HCC C++ compiler is a key tool in enabling developers to easily and efficiently apply the hardware resources in heterogeneous systems. The compiler offers more simplified development via single source execution, with both the CPU and GPU code in the same file. The compiler automates the placement code that executes on both processing elements for maximum execution efficiency.

"Just as our customers are excited about our hardware innovation, including the introduction of the first GPU with High Bandwidth Memory this year and our new x86 core architecture coming next year, our innovations in software development are equally as important to them," said Mark Papermaster, senior vice president and chief technology officer, AMD. "The challenge has always been to unlock the hardware's capabilities and make them easily accessible to developers working to solve difficult problems. AMD's newest offering provides the keys to more readily access our parallel computing engines -- both multicore CPUs and GPUs -- and to make these benefits available to the mainstream of developers across a broad spectrum of computing platforms, from embedded to supercomputing."

Linux Driver and Runtime Focused on the Needs of HPC Cluster-Class Computing
To complement the new compilation tools, AMD has developed a new HPC-focused driver and system runtime. This new headless Linux driver brings key capabilities to address core high-performance computing needs, including low latency compute dispatch and PCIe data transfers; peer-to-peer GPU support; Remote Direct Memory Access (RDMA) from InfiniBand that interconnects directly to GPU memory; and Large Single Memory Allocation support.

HIP-ifying CUDA Application to Run on AMD GPUs
To bring applications written for CUDA onto AMD platforms, AMD announces the new HIP tool. AMD testing shows that in many cases 90 percent or more of CUDA code can be automatically converted into C++ by HIP with the final 10 percent converted manually in the widely popular C++ language. This greatly expands the installed hardware base available to run what were formerly exclusively CUDA-based applications. At SC15, AMD is demonstrating the potential for HIP, running the CUDA-generated Rodinia benchmark suite on AMD GPUs.

Availability
An early access program for the "Boltzmann Initiative" tools is planned for Q1 2016.
Add your own comment

16 Comments on AMD Launches The "Boltzmann Initiative," Brings NVIDIA CUDA to FirePro

#1
RejZoR
There would be no need for all this if OpenCL was up to the task. Apparently it's not if we still need proprietary crap...
Posted on Reply
#2
HWTactics
More of a problem of slow adoption of AMD standards, I think. If OpenCL had Nvidia's stamp it would be another story.

Instead of trying to make a sinking ship float AMD is at least putting a workaround for CUDA in place.
Posted on Reply
#3
Constantine Yevseyev
RejZoRApparently it's not if we still need proprietary crap...
I'd pick "proprietary crap" over free stuff any day. The tooling is just so much ahead, you wouldn't want to go back to OSS products even if somebody was pointing a gun at your head. At the end of the day, it's all about what makes you as a developer productive, not whether you follow Stallman's ideology or not.

There's C++ AMP though, which can be compiled on Linux (LLVM), so you're right about something: there is an alternative that works on, uhm, everything, yet the adoption is extremely low. Almost non-existent. And the reason for that is the fact that you could never achieve REAL performance when targeting multiple families of GPU's. The amount of work that profilers & related tools (like NVIDIA CUPTI) do for you is immeasurable. There's some design-time analysis services available, too, that will help with re-writing some of your code based on estimations performed by CUDA engineers (lower the size of this, get rid of that, you know).

Anyway. This is amazing news, although it would be great if they provided some information in regards to just how common it is to see FirePro S being used in servers. They never really talked about that, which is weird... I can get S10000 at a reasonable price here, and it's ready-to-use even (3 fans pre-installed).
Posted on Reply
#4
R-T-B
RejZoRThere would be no need for all this if OpenCL was up to the task. Apparently it's not if we still need proprietary crap...
My understanding is this directly converts the code into corresponding C++ (OpenCL?) code. So it IS up the task, apparently.

It's not really a performance issue, it's an adoption issue. NVIDIA's CUDA has existed much longer, and thus has much much larger market penetration, than OpenCL.
Posted on Reply
#5
john_
RejZoRThere would be no need for all this if OpenCL was up to the task. Apparently it's not if we still need proprietary crap...
Based on the Anandtech article, what I understood was that OpenCL 2.1 is very close to be up to the task. But with Nvidia staying at OpenCL 1.2, no one cares if OpenCL 2.1 is good enough or if OpenCL 3-4-10 will be phenomenal.
Posted on Reply
#6
NC37
This is great news. Means competition is coming to a market nVidia has had a monopoly on. If anyone can buy an AMD card to run CUDA for less than a NV card, it's gonna make a dent.

I'm surprised nVidia hasn't unleashed their lawyers to try and stop this.
Posted on Reply
#7
R-T-B
NC37This is great news. Means competition is coming to a market nVidia has had a monopoly on. If anyone can buy an AMD card to run CUDA for less than a NV card, it's gonna make a dent.

I'm surprised nVidia hasn't unleashed their lawyers to try and stop this.
It's not that simple. From how it reads all applications will have to be compiled against AMD libraries. Meaning you need source code access and time / work to make it happen.
Posted on Reply
#8
Musaab
"The work AMD is doing to produce a high-performance compiler that sits below high-level programming models enables researchers to concentrate on solving problems and publishing groundbreaking research rather than worrying about hardware-specific optimizations."
Does he really believe in what he say. He should say " Sorry scientists we failed to offer you proper tools to write your applications, we failed to offer you any technical support, we couldn't offer programming specialist to help you write coding lines and these greedy bastards at nVidia offer all that for free or for little money just to make you buy their hardware and because CUDA is open and expanding in every scientific and engineering field we decide to port CUDA to our hardware even if that mean you need to do some coding work and alot of debugging, So please buy some of our hardware, It's cheaper"
Posted on Reply
#9
geon2k2
"AMD testing shows that in many cases 90 percent or more of CUDA code can be automatically converted into C++"

And who will do the rest of 10%?
From my experience sometimes fixing bad code, especially if you speak about 10% takes as much time as rewriting it from scratch, if not more.
Musaab" because CUDA is open and expanding in every scientific and engineering "
Not so sure CUDA is open. Otherwise they would implement support directly without the need to reconvert code.
Posted on Reply
#10
Musaab
geon2k2"AMD testing shows that in many cases 90 percent or more of CUDA code can be automatically converted into C++"

And who will do the rest of 10%?
From my experience sometimes fixing bad code, especially if you speak about 10% takes as much time as rewriting it from scratch, if not more. code.
They don't have people to help like what nVidia offer, in other word we gave you our legendary sword go kill the dragon we will sit hear to watch you.
geon2k2Not so sure CUDA is open. Otherwise they would implement support directly without the need to reconvert code.
nVidia say so
Posted on Reply
#11
medi01
RejZoRThere would be no need for all this if OpenCL was up to the task. Apparently it's not if we still need proprietary crap...
DVORAK keyboard layout is vastly superior to QWERTY, but world is stuck on the latter, how does it fit in your theory?
Posted on Reply
#12
Uplink10
medi01DVORAK keyboard layout is vastly superior to QWERTY, but world is stuck on the latter, how does it fit in your theory?
The same reason that we do not use better layouts is that most of the countries have different keyboard layout and we still speak oh so many different languages when the time for learning other languages could be used to do other better things. People just do not want to get used to something new that would benefit them for the rest of their lives and most importantly future generations. But to answer your question:
RejZoRThere would be no need for all this if OpenCL was up to the task. Apparently it's not if we still need proprietary crap...
Proprietary software and capabilities that this software offers can be controlled and I think this is something NVIDIA wants!
You have to go through NVIDIA if you want something and why would NVIDIA invest into development of OpenCL if everyone else can use it also?
OpenCL vs. CUDA is the same as Free-Sync vs. G-Sync.
Posted on Reply
#13
RejZoR
How do you define keyboard layout as "better"? It doesn't matter what setup it has, it's how well you adapt to it. And only thing that affects that is practice (or simply using it a lot). I can type blindly by lifting my fingers off the keyboard. Meaning I can hit the right letters without actually permanently having my fingers resting on the keyboard in what people would call a preferred blind typing position. And I can still type faster than most people with probably the same amount of errors or even less. I'm so used to QWERTZ layout that I'm using that I can hit keys by knowing where they should be without using any reference points other than my mind. At this point, DVORAK would be absolutely inefficient for me...
Posted on Reply
#14
medi01
Uplink10The same reason that we do not use better layouts is that most of the countries have different keyboard layout.
So, US doesn't use DVORAK because Russians use ЙЦУКЕН (which IS "dvorak" in a way, as you mostly use your strongest fingers to type)
Mind boggling.

Let me elaborate as point seems to have missed you: something, that most people are using, is not necessarily the best thing. The same applies to proprietary CUDA vs standard OpenCL.
RejZoRHow do you define keyboard layout as "better"? It doesn't matter what setup it has, it's how well you adapt to it.
You might want to check what was the goal behind QWERTY.
Posted on Reply
#15
Constantine Yevseyev
medi01because Russians use ЙЦУКЕН
...Which is exactly the same as QWERTY:
upload.wikimedia.org/wikipedia/commons/a/a5/KB_Eng-Rus_QWERTY%28%D0%99%D0%A6%D0%A3%D0%9A%D0%95%D0%9D%29.svg
medi01The same applies to proprietary CUDA vs standard OpenCL
It is true that CUDA is all about GPGPU (which hypothetically allows for a direct comparison of two), yet OpenCL makes for a small speck when laid on top of CUDA. It's an ecosystem of various tools, libraries and practices that enable you to do anything that people have been doing for years with both CPU and GPU, ranging from accelerated conversion of media content to fluid dynamics. It is supercomputer-first, again, just like OpenCL, but while CUDA gives you everything pre-baked (performance analysis, thousands of libraries, language bindings), the latter still only resembles a specification and nothing more.

Just my opinion: if everything was perfect with OpenCL, we wouldn't have had FireStream SDK, CUDA and (later) C++ AMP in the first place. Again, think about what enables developers to build stuff fast and with adequate maintainability, not what would be "great for free-minded people". I too would love if Khronos provided an IDE-like experience for their solution, on par with tooling, professional community hub and reference guides, but as of right now they just keep making stuff like WebCL that dies w/o seeing a single implementation at all. Vulkan's destiny is bright (and it'd definitely have compute shaders), but it only exists on paper right now, and I need a compiler. A book. A place where I could talk to their engineers. And lots, lots of other things. It's a "big" kind of programming, nothing like your generic "create object A, call method B". If you don't approach it like a crazy scientist, what's it worth?
Posted on Reply
#16
medi01
Constantine Yevseyev...Which is exactly the same as QWERTY:
upload.wikimedia.org/wikipedia/commons/a/a5/KB_Eng-Rus_QWERTY(ЙЦУКЕН).svg
What on PLANET EARTH did you expect, new, second layer of keys? =)))
Or how would that change if you show Russian layout over DVORAK layout?

I'm blind typer on both layouts, when typing in Russian I rarely use ring finger and the pinky even less frequently.
That's exactly what DVORAK does vs QWERTY.

But, apparently, the reasons why one is used over the other goes well beyond "which one is better".
Posted on Reply
Add your own comment
Apr 19th, 2024 17:41 EDT change timezone

New Forum Posts

Popular Reviews

Controversial News Posts