How a single SYCL codebase makes it possible to run multi-devices such as Intel GPUs, AMD GPUs, and NVIDIA GPUs
Posted on behalf of Arti Gupta, Intel oneAPI Program Director
The ever-growing scale and speed of High-Performance Computing (HPC) systems unleash many new opportunities for researchers and data scientists. Today, the first exascale-capable HPC systems, like the Department of Energy’s Aurora supercomputer, are poised to deliver the goods. Once fully deployed at the Argonne National Laboratory (ANL), projections suggest Aurora will exceed two exaFLOPS of double precision compute performance. While this system provides all the prowess needed to accommodate demanding converged workloads, including AI training, modeling, and simulation, a new development challenge emerges. Modern HPC systems will include heterogeneous architectures with specialized hardware components. Rather than coding for various languages and proprietary approaches, developers prefer to write code once and know it will run optimally across diverse architectures. For these reasons, traditional coding techniques for proprietary architectures applied to heterogeneous systems come with inherent complexities that can delay new science.
oneAPI helps solve this problem through an open industry effort supported by over 100 companies, research organizations, and universities. oneAPI is an open, unified, cross-architecture programming model for CPUs and accelerator architectures (GPUs, FPGAs, and others). Based on standards, the programming model simplifies software development and delivers uncompromised performance for accelerated computing without proprietary lock-in while enabling the integration of existing code. With oneAPI, developers can choose the best architecture for the specific problem they are trying to solve without needing to rewrite software for the next architecture and platform.
Intel’s implementation of oneAPI includes the Intel oneAPI Tools with advanced compilers, libraries, and analysis, debug, and porting tools to help developers productively create cross-architecture code and accelerate performance. Intel is now leading an effort to help users at national laboratories, enterprise organizations, and educational settings succeed using oneAPI. Intel focuses on three academic initiatives toward this goal: The oneAPI Centers of Excellence, the oneAPI Educator Program, and the oneAPI Student Ambassador program.
oneAPI Centers of Excellence
The Intel oneAPI Center of Excellence program targets academic universities and research labs to simplify coding for multiarchitecture systems. Intel provides the current 30 oneAPI Centers with two-year access to the Intel® Developer Cloud, comprised of the latest pre-production and current Intel CPU, GPU, and FPGA architectures. The Centers deliver key software code optimizations and new implementations, port strategic applications to oneAPI, and develop curriculum to further ecosystem adoption of the oneAPI. Institutions in the program also benefit from Intel’s engineering resources and learning opportunities designed to extract the most from oneAPI.
Once the Centers of Excellence utilize these resources to optimize their codes for scientific uses in HPC simulations, biology, physics, and more, the resulting code is freely accessible to researchers. These centers regularly showcase their innovative work at conferences and events, publish research papers in industry journals, and more. The combination of work together makes it easier for others to benefit from real-world knowledge using oneAPI and best practices.
For example, Intel works closely with KTH Royal Institute of Technology, Sweden, to enable GROMACS — the widely used molecular dynamics code. oneAPI helps futureproof solutions with a single SYCL codebase for multiarchitecture platforms across vendors. This Center showcases how a single SYCL codebase makes it possible to run multi-devices such as Intel GPUs, AMD GPUs, and NVIDIA GPUs. As another example, the Center at the University of California at Davis builds Deep Learning tools for Scientific Visualization.
oneAPI Educator and Student Ambassador programs
The oneAPI Educator program and the accompanying oneAPI Student Ambassador program help professors and students in higher education gain familiarity developing with oneAPI and put that knowledge to practical use for multiplatform coding.
The teacher-centric oneAPI Educator Program offers academic institutions a ready-to-use curriculum, video presentations, homework assignments, and quizzes to make the learning process for software development more turnkey and effective. There are dozens of schools worldwide currently teaching oneAPI concepts in their classes, like the University of Southern California, Technion, and Loyola.
The oneAPI Student Ambassador program takes a “pull-through” approach, encouraging up-and-coming student developers in academia to lead innovative development and research projects, engage their peers, and share oneAPI knowledge. Ambassadors conduct workshops customized for student developers using content and training provided by Intel. Currently, participants include undergraduate, graduate, and Ph.D.-level students.
oneAPI Student Ambassadors come from academic institutions worldwide. Once trained on their campuses, they can use their accumulated knowledge and resources to create workshops that help other students to maximize their code for multiarchitecture HPC and AI systems.
Anyone interested in these programs can apply here.
Journey to Exascale
It’s exciting to imagine what breakthroughs will result from exascale computing. Aurora and other exascale systems open the door to identifying new medications, helping us understand the mysteries of the universe, making nuclear energy safer and more plentiful, and designing products that improve on those available today. Nobody can foresee all the discoveries coming in the next few years. However, it’s great to see coding barriers diminished so scientists can focus on their area of expertise and innovation rather than coding complexities and make the most of all the HPC power at their disposal.
# # #
This article was produced as part of Intel’s editorial program, with the goal of highlighting cutting-edge science, research and innovation driven by the HPC and AI communities through advanced technology. The publisher of the content has final editing rights and determines what articles are published.