Julia Programming’s Dramatic Rise in HPC and Elsewhere

By John Russell

January 14, 2020

Back in 2012 a paper by four computer scientists including Alan Edelman of MIT introduced Julia, A Fast Dynamic Language for Technical Computing. At the time, the gold standard programming languages for fast performance on computationally intensive problems were C and Fortran – maybe they still are. Fast forward to 2020 and Julia is making a run at the top and Edelman won last year’s IEEE Sidney Fernbach Award presented at SC19 for, among other things, his work on Julia.

Consider recent stats on Julia adoption. By January 1, 2019, reports Julialang.org, the total downloads of Julia reached 7.3 million. That number jumped to 12.9 million, a 77 percent increase, by January 1, 2020. The number of published citations for same period rose 66 percent from 1048 to 1680. In his SC19 talk, Edelman noted that as of October 2019 there were 3,119 Julia packages available, up from 1,688 at the year’s start. Those numbers are impressive all around.

In September, Julia joined the ranks of computing languages that have achieved peak performance exceeding one petaflop per second – the so-called ‘Petaflop Club.’ The Julia application that achieved this milestone is called Celeste. The Celeste team developed a new parallel computing method to process the entire Sloan Digital Sky Survey dataset and loaded an aggregate of 178 terabytes of image data to produce the most accurate catalog of 188 million astronomical objects in just 14.6 minutes. Celeste achieved peak performance of 1.54 petaflops using 1.3 million threads on 9,300 Knights Landing (KNL) nodes of the Cori supercomputer at NERSC – a performance improvement of 1,000x in single-threaded execution.

Alan Edelman, MIT

You get the idea. Julia is on a roll. Whether Julia will challenge Python the way Python once challenged and then surpassed Java is an interesting question being bandied about. What’s clear is that after percolating along steadily during its early years, Julia use is growing quickly – much to Edelman’s delight.

The tension between the high performance delivered by so-called static programming languages and the lesser performance delivered by high-level programming languages, which emphasize abstraction, speed of development, and portability, hasn’t gone away, noted Edelman. But convenience with sufficient performance is winning out. Moreover, the rise of heterogeneous computing and the complications it presents to programmers has increased the tilt away from static programming.

In his engaging SC19 talk, Edelman noted:

“When you’re writing various algorithms, you don’t necessarily want to think about whether you’re on a GPU, or whether you’re on a distributed computer. You don’t necessarily want to think about how you’ve implemented the specific data structure. What you want to do is talk about what you want to compute, not how you want to compute it, right? That is the big problem, to get people to talk about what you want to compute, and not how you want to compute it. Because if you put in your software, how you’re going to compute it, and if your software is filled with that muck, I promise you, nobody’s ever going to change it. No one’s going to innovate on it. When the person who wrote it is no longer in the project, no one’s ever going to touch it.

“[S]ome of the reasons why Julia is working very well is because we have particularly well-designed abstractions. We have something called multiple dispatch and we have a very careful balance between the static and dynamic. It interfaces with LLVM. It plays nicely with Python. We also have had lots of people take legacy codes in MPI, and plug them into Julia – you don’t get all the benefits, but what you do have, which might be the most important benefit, is other people can now run your code once it’s inside of Julia. So it’s much easier for other people. You can actually give your old code new life when you plug it into a higher level language.”

Julia, say advocates, minimizes performance penalties because it was designed from the outset with parallel computing in mind and with making use of high-performing abstractions able to exploit the latest libraries and deliver portability. Edelman presented an example in which a group of researchers decided to scrap their legacy climate code in Fortran and write it from scratch in Julia. There was some discussion around performance tradeoffs they might encounter in the move to a high level programming language. The group was willing to accept a 3x slowdown for the flexibility of the language. Instead, said Edelman, the switch produced 3x speedup.

 

He briefly presented a second example in which Julia was used with GPUs and skirted CUDA.

“I’m going to go over really fast a little bit on how we do Julia on GPUs. Because we have these different levels of abstraction, we’re able to reason about what’s going on at various different levels. If you only have that very lowest level on a GPU again, you can roll up your sleeves and work really hard, but you don’t get any code reuse. We have the saying in the Julia world, where if you’ve copied and pasted code, and you just modified a few things, then you’ve done something wrong. We’re trying to eliminate the copying and pasting the code, not only by you, but somebody else in the community shouldn’t have to go and take somebody else’s code and copy and paste it. That shouldn’t be necessary. So there’s a lot going on in here (see slide below). But the main point is that it’s not just queued in Julia, but it’s actually Julia running on the GPUs. And so that’s, that’s pretty exciting.”

Edelman’s perspective on coding and mathematics is interesting. “You know, a lot of us get this impression from universities and from teaching that you learn some math and then you [build] an algorithm, and then you code it up as if there is the algorithm first, and then the coding is sort of the secondary. But you know, more and more now, the code is the math,” said Edelman. This idea, he suggests, should inform our thinking about coding generally; it’s yet another effective abstraction.

The video is best watched (or listened to) to get the breezy yet substantive flavor of Edelman’s ideas and Julia’s capabilities.

“Julia was always designed to be a high level of parallel computing language, even from day one. That’s what I wanted. This is the problem that I personally wanted to see solved. We’re not fully there yet. But Julia is a highlight. You could do distributed computing, you could do GPU computing, you could do shared memory computing. We have models, you know, asynchronous computing, whatever you’d like to do we have models to do it now. And the real question, the one that everybody asked, the one that none of us really knows how to do, the deep intellectual problem is how to put it all together. But if we all work together at it, if we actually all share code, and, you know, hammer away at it, I think we could actually solve this problem.”

Link to intro paper: https://arxiv.org/pdf/1209.5145.pdf

Link to Fernbach Award announcement: https://www.hpcwire.com/off-the-wire/julia-computing-chief-scientist-alan-edelman-wins-prestigious-ieee-sidney-fernbach-award/

Link to SC19 video: https://www.youtube.com/watch?v=nwdGsz4rc3Q

Subscribe to HPCwire's Weekly Update!

Be the most informed person in the room! Stay ahead of the tech trends with industy updates delivered to you every week!

Nvidia’s Newly DPU-Enabled SuperPOD Is a Multi-Tenant, Cloud-Native Supercomputer

April 12, 2021

At GTC 2021, Nvidia has announced an upgraded iteration of its DGX SuperPOD, calling the new offering “the first cloud-native, multi-tenant supercomputer.” The newly announced SuperPOD comes just two years after the Read more…

Watch Nvidia’s GTC21 Keynote with Jensen Huang Livestreamed Here at 8:30 am PT Today

April 12, 2021

Join HPCwire right here on Monday, April 12, at 8:30 am PT to see the Nvidia GTC21 keynote from Nvidia’s CEO, Jensen Huang, livestreamed in its entirety. Hosted by HPCwire, you can click to join the Huang keynote on our livestream to hear Nvidia’s expected news and... Read more…

The US Places Seven Additional Chinese Supercomputing Entities on Blacklist

April 8, 2021

As tensions between the U.S. and China continue to simmer, the U.S. government today added seven Chinese supercomputing entities to an economic blacklist. The U.S. Entity List bars U.S. firms from supplying key technolog Read more…

Argonne Supercomputing Supports Caterpillar Engine Design

April 8, 2021

Diesel fuels still account for nearly ten percent of all energy-related U.S. carbon emissions – most of them from heavy-duty vehicles like trucks and construction equipment. Energy efficiency is key to these machines, Read more…

Habana’s AI Silicon Comes to San Diego Supercomputer Center

April 8, 2021

Habana Labs, an Intel-owned AI company, has partnered with server maker Supermicro to provide high-performance, high-efficiency AI computing in the form of new training and inference servers that will power the upcoming Read more…

AWS Solution Channel

Volkswagen Passenger Cars Uses NICE DCV for High-Performance 3D Remote Visualization

 

Volkswagen Passenger Cars has been one of the world’s largest car manufacturers for over 70 years. The company delivers more than 6 million automobiles to global customers every year, from 50 production locations on five continents. Read more…

Intel Partners Debut Latest Servers Based on the New Intel Gen 3 ‘Ice Lake’ Xeons

April 7, 2021

Fresh from Intel’s launch of the company’s latest third-generation Xeon Scalable “Ice Lake” processors on April 6 (Tuesday), Intel server partners Cisco, Dell EMC, HPE and Lenovo simultaneously unveiled their first server models built around the latest chips. And though arch-rival AMD may... Read more…

Nvidia’s Newly DPU-Enabled SuperPOD Is a Multi-Tenant, Cloud-Native Supercomputer

April 12, 2021

At GTC 2021, Nvidia has announced an upgraded iteration of its DGX SuperPOD, calling the new offering “the first cloud-native, multi-tenant supercomputer.” Read more…

Watch Nvidia’s GTC21 Keynote with Jensen Huang Livestreamed Here at 8:30 am PT Today

April 12, 2021

Join HPCwire right here on Monday, April 12, at 8:30 am PT to see the Nvidia GTC21 keynote from Nvidia’s CEO, Jensen Huang, livestreamed in its entirety. Hosted by HPCwire, you can click to join the Huang keynote on our livestream to hear Nvidia’s expected news and... Read more…

The US Places Seven Additional Chinese Supercomputing Entities on Blacklist

April 8, 2021

As tensions between the U.S. and China continue to simmer, the U.S. government today added seven Chinese supercomputing entities to an economic blacklist. The U Read more…

Habana’s AI Silicon Comes to San Diego Supercomputer Center

April 8, 2021

Habana Labs, an Intel-owned AI company, has partnered with server maker Supermicro to provide high-performance, high-efficiency AI computing in the form of new Read more…

Intel Partners Debut Latest Servers Based on the New Intel Gen 3 ‘Ice Lake’ Xeons

April 7, 2021

Fresh from Intel’s launch of the company’s latest third-generation Xeon Scalable “Ice Lake” processors on April 6 (Tuesday), Intel server partners Cisco, Dell EMC, HPE and Lenovo simultaneously unveiled their first server models built around the latest chips. And though arch-rival AMD may... Read more…

Intel Launches 10nm ‘Ice Lake’ Datacenter CPU with Up to 40 Cores

April 6, 2021

The wait is over. Today Intel officially launched its 10nm datacenter CPU, the third-generation Intel Xeon Scalable processor, codenamed Ice Lake. With up to 40 Read more…

HPE Launches Storage Line Loaded with IBM’s Spectrum Scale File System

April 6, 2021

HPE today launched a new family of storage solutions bundled with IBM’s Spectrum Scale Erasure Code Edition parallel file system (description below) and featu Read more…

RIKEN’s Ongoing COVID Research Includes New Vaccines, New Tests & More

April 6, 2021

RIKEN took the supercomputing world by storm last summer when it launched Fugaku – which became (and remains) the world’s most powerful supercomputer – ne Read more…

Julia Update: Adoption Keeps Climbing; Is It a Python Challenger?

January 13, 2021

The rapid adoption of Julia, the open source, high level programing language with roots at MIT, shows no sign of slowing according to data from Julialang.org. I Read more…

Intel Launches 10nm ‘Ice Lake’ Datacenter CPU with Up to 40 Cores

April 6, 2021

The wait is over. Today Intel officially launched its 10nm datacenter CPU, the third-generation Intel Xeon Scalable processor, codenamed Ice Lake. With up to 40 Read more…

CERN Is Betting Big on Exascale

April 1, 2021

The European Organization for Nuclear Research (CERN) involves 23 countries, 15,000 researchers, billions of dollars a year, and the biggest machine in the worl Read more…

Programming the Soon-to-Be World’s Fastest Supercomputer, Frontier

January 5, 2021

What’s it like designing an app for the world’s fastest supercomputer, set to come online in the United States in 2021? The University of Delaware’s Sunita Chandrasekaran is leading an elite international team in just that task. Chandrasekaran, assistant professor of computer and information sciences, recently was named... Read more…

HPE Launches Storage Line Loaded with IBM’s Spectrum Scale File System

April 6, 2021

HPE today launched a new family of storage solutions bundled with IBM’s Spectrum Scale Erasure Code Edition parallel file system (description below) and featu Read more…

10nm, 7nm, 5nm…. Should the Chip Nanometer Metric Be Replaced?

June 1, 2020

The biggest cool factor in server chips is the nanometer. AMD beating Intel to a CPU built on a 7nm process node* – with 5nm and 3nm on the way – has been i Read more…

Saudi Aramco Unveils Dammam 7, Its New Top Ten Supercomputer

January 21, 2021

By revenue, oil and gas giant Saudi Aramco is one of the largest companies in the world, and it has historically employed commensurate amounts of supercomputing Read more…

Quantum Computer Start-up IonQ Plans IPO via SPAC

March 8, 2021

IonQ, a Maryland-based quantum computing start-up working with ion trap technology, plans to go public via a Special Purpose Acquisition Company (SPAC) merger a Read more…

Leading Solution Providers

Contributors

Can Deep Learning Replace Numerical Weather Prediction?

March 3, 2021

Numerical weather prediction (NWP) is a mainstay of supercomputing. Some of the first applications of the first supercomputers dealt with climate modeling, and Read more…

Livermore’s El Capitan Supercomputer to Debut HPE ‘Rabbit’ Near Node Local Storage

February 18, 2021

A near node local storage innovation called Rabbit factored heavily into Lawrence Livermore National Laboratory’s decision to select Cray’s proposal for its CORAL-2 machine, the lab’s first exascale-class supercomputer, El Capitan. Details of this new storage technology were revealed... Read more…

New Deep Learning Algorithm Solves Rubik’s Cube

July 25, 2018

Solving (and attempting to solve) Rubik’s Cube has delighted millions of puzzle lovers since 1974 when the cube was invented by Hungarian sculptor and archite Read more…

African Supercomputing Center Inaugurates ‘Toubkal,’ Most Powerful Supercomputer on the Continent

February 25, 2021

Historically, Africa hasn’t exactly been synonymous with supercomputing. There are only a handful of supercomputers on the continent, with few ranking on the Read more…

The History of Supercomputing vs. COVID-19

March 9, 2021

The COVID-19 pandemic poses a greater challenge to the high-performance computing community than any before. HPCwire's coverage of the supercomputing response t Read more…

HPE Names Justin Hotard New HPC Chief as Pete Ungaro Departs

March 2, 2021

HPE CEO Antonio Neri announced today (March 2, 2021) the appointment of Justin Hotard as general manager of HPC, mission critical solutions and labs, effective Read more…

AMD Launches Epyc ‘Milan’ with 19 SKUs for HPC, Enterprise and Hyperscale

March 15, 2021

At a virtual launch event held today (Monday), AMD revealed its third-generation Epyc “Milan” CPU lineup: a set of 19 SKUs -- including the flagship 64-core, 280-watt 7763 part --  aimed at HPC, enterprise and cloud workloads. Notably, the third-gen Epyc Milan chips achieve 19 percent... Read more…

Microsoft, HPE Bringing AI, Edge, Cloud to Earth Orbit in Preparation for Mars Missions

February 12, 2021

The International Space Station will soon get a delivery of powerful AI, edge and cloud computing tools from HPE and Microsoft Azure to expand technology experi Read more…

  • arrow
  • Click Here for More Headlines
  • arrow
HPCwire