News: 1651489214

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Nvidia starts laying groundwork for future open and parallel code

(2022/05/02)


Graphics processors are becoming a must-have in computing, so Nvidia is stepping up its work with standards and open-source communities to downstream technologies once largely exclusive to the company's development tools.

A lot of work is being done specifically around programming languages like C++ and Fortran, which are deemed to lag on native implementation to execute code across highly parallel systems.

The plan is to make generic computing environments and compilers more productive and approachable, Timothy Costa, group product manager for high-performance computing and quantum computing at Nvidia, told The Register .

[1]

"Ultimately, our goal with the open source community and programming is to enhance concurrency and parallelism for all. I say that because I do mean CPUs and GPUs," Costa said.

[2]

[3]

Many of the technologies being opened up and brought mainstream are related to the past work done by Nvidia in its [4]CUDA parallel programming framework , which combines open and proprietary libraries.

CUDA was introduced in 2007 as a set of programming tools and frameworks for coders to write programs to GPUs. But the CUDA strategy changed as GPU usage expanded to more applications and sectors.

[5]

Nvidia is largely known as dominating the GPU market, but CUDA is at the center of the company [6]repositioning itself as a software and services provider [7]chasing a $1 trillion market valuation.

The long-term goal is for Nvidia to be a full-stack provider targeting specialized domains that include autonomous driving, quantum computing, health care, robotics, cybersecurity, and quantum computing.

Nvidia has built CUDA libraries specialized in those areas, and also provides the hardware and services that companies can tap into.

[8]Nvidia names top US partners that fueled AI, accelerator hardware sales

[9]Nvidia outlines subscription-fueled journey to $1tr revenue

[10]Nvidia releases $1,999, 8K-capable GeForce RTX 3090 Ti GPU

[11]Why Nvidia sees a future in software and services: Recurring revenue

The full-stack strategy is best illustrated by the concept of an [12]"AI factory" introduced by CEO Jensen Huang at the recent GPU Technology Conference. The concept is that customers can drop applications in Nvidia's mega datacenters, with the output being a customized AI model that meets specific sector or application requirements.

Nvidia has two ways to earn money via concepts like the AI factory: through the utilization of GPU capacity or usage of domain-specific CUDA libraries. Programmers can use open-source parallel programming frameworks that include OpenCL on Nvidia's GPUs. But for those willing to invest, CUDA will provide that extra last-mile boost as it is tuned to work closely with the Nvidia's GPU.

Parallel for all

While parallel programming is widespread in HPC, Nvidia's goal is to standardize it in mainstream computing. The company is helping the community standardize best-in-class tools to write parallel code that is portable across hardware platforms, independent of brand, accelerator type or parallel programming framework.

"The complication is – it may be measured as simply as lines of code. If you are, if you're bouncing back and forth between many different programming models, you're going to have more lines of code," Costa said.

[13]

For one, Nvidia is involved in a C++ committee that is laying down the piping that orchestrates parallel execution of code that is portable across hardware. A context might be a CPU thread doing mainly IO, or a CPU or GPU thread doing intensive computation. Nvidia is specifically [14]active in bringing standard vocabulary and framework for asynchrony and parallelism that C++ programmers are demanding.

"Every institution, every major player, has a C++ and Fortran compiler, so it'd be crazy not to. As the language is advanced, we arrive at somewhere where we have true open standards with performance portability across platforms," Costa said.

"Then users are of course always able, if they want to, to optimize with a vendor-specific programming model that's tied to the hardware. I think we were arriving at kind of a mecca here of productivity for end users and developers," Costa said.

Standardizing at a language level will make parallel programming more approachable to coders, which could ultimately also boost the adoption open-source parallel programming frameworks like OpenCL, he opined.

[15]C: Everyone's favourite programming language isn't a programming language

[16]It takes big business to make Nvidia's Omniverse tangible

[17]Hackers weigh in on programming languages of choice

[18]The wild world of non-C operating systems

Of course, Nvidia's own compiler will extract best performance and value on its GPUs, but it is important to remove the hoops to bring parallelism to language standards, regardless of platform, Costa said.

"Focusing on the language standards is how we make sure we have true breadth of compilers and platform support for performance model programming," he explained, adding that Nvidia has worked with the community for more than a decade to make low-level changes of languages for parallelism.

The initial work was around the memory model, which was included in C++ 11, but needed to be advanced back when parallelism and concurrency started taking hold. The memory model in C++ 11 focused on concurrent execution across multicore chips, but lacked the hooks for parallel programming.

The C++ 17 standard introduced the groundwork for higher-level parallelism features, but true portability coming in future standards. The current standard is [19]C++ 20 , with C++ 23 coming up.

"The great thing now is because that piping has been laid, if you start looking at the next iterations of the standard, you'll see more and more user facing and productive features that are going into these languages, which are truly performance portable. Any hardware architecture in the CPU and GPU space will be able to leverage these," Costa promised. ®

Get our [20]Tech Resources



[1] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2YnAAKyk--XBRsXbRxYM6wAAAAMY&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YnAAKyk--XBRsXbRxYM6wAAAAMY&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YnAAKyk--XBRsXbRxYM6wAAAAMY&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[4] https://www.theregister.com/2022/03/23/nvidia_parallelism_cuda/

[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44YnAAKyk--XBRsXbRxYM6wAAAAMY&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[6] https://www.theregister.com/2022/03/10/nvidia_software_services/

[7] https://www.theregister.com/2022/03/25/nvidia_trillion_dollar_revenue/

[8] https://www.theregister.com/2022/04/05/nvidia_partner_awards/

[9] https://www.theregister.com/2022/03/25/nvidia_trillion_dollar_revenue/

[10] https://www.theregister.com/2022/03/29/nvidia_releases_1999_8kcapable_geforce/

[11] https://www.theregister.com/2022/03/10/nvidia_software_services/

[12] https://www.theregister.com/2022/03/22/nvidia_jensen_gtc/

[13] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33YnAAKyk--XBRsXbRxYM6wAAAAMY&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[14] https://www.theregister.com/2022/03/23/nvidia_parallelism_cuda/

[15] https://www.theregister.com/2022/03/23/c_not_a_language/

[16] https://www.theregister.com/2022/03/23/nvidia_omniverse_gtc/

[17] https://www.theregister.com/2022/03/24/hacker_language_study/

[18] https://www.theregister.com/2022/03/29/non_c_operating_systems/

[19] https://en.cppreference.com/w/cpp/20

[20] https://whitepapers.theregister.com/



badflorist

"...past work done by Nvidia..."

Now done for free by you.

"Of course, Nvidia's own compiler will extract best performance and value..."

Of course.

"The memory model in C++ 11 ... C++ 17 ... C++ 20 ... C++ 23"

What do any of those have to do with the fact that Nvidia should be contributing this code to Vulcan and not trying to trick people into using their proprietary offerings?

Anonymous Coward

"What do any of those have to do with the fact that Nvidia should be contributing this code to Vulcan and not trying to trick people into using their proprietary offerings?"

Exactly. Even back in the 90s, gcc would perform with the same level of perf. on T2D/T3E like native Cray tools.

The future for HPC is still (as it was, funnily, things don't seem to change in HPC) in MPI, heir of PVM.

Why not, NVidia, investing in MPI, gcc and some fancy CUDA libs linkable to it ?

"piping has been laid"

Pascal Monett

So, the road will be covered up, then three weeks later it will be re-opened for another round of piping, and so on and so forth for the rest of the year ?

Because that has been going on for the past six months in front of my office . . .

The new "I Love You" virus is not the work of some snot-nosed acne-laced
teenager working from a basement in the Phillipines. It's actually part of
a conspiracy concocted by the unholy alliance of Microsoft and several
well-known and well-despised spammers.

You'll notice that the ILOVEYOU, Melissa, and Tuxissa strains all extract
email addresses from the victim's system. This is a gold mine for
spammers, who are able to use these viruses to harvest active email
addresses for them. Everytime ILOVEYOU, for instance, propogates, it keeps
track of all the email addresses it has been sent to, so that when it
finally boomerangs back to a spammer, they have a nice convenient list of
addresses to send "laser printer toner" and "get rich quick!"
advertisements to.

-- Bob Smith (not his real code-name), in a speech given at the
First Annual Connecticut Conspiracy Convention (ConConCon),
"the largest ever gathering of conspiracy theorists east of the
Mississippi."