cuNumeric.jl - Automating Distributed Numerical Computing
The Julia Programming Language via YouTube
AI Engineer - Learn how to integrate AI into software applications
AI, Data Science & Cloud Certificates from Google, IBM & Meta
Overview
Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
Explore a conference talk that introduces cuNumeric.jl, a Julia package designed to simplify distributed numerical computing for domain scientists. Learn how this innovative tool addresses the dual challenges of performance portability and scalability by providing a high-level array interface that automatically maps code onto heterogeneous hardware architectures without requiring code changes. Discover the underlying technologies including nv-legate and Legion that enable cuNumeric.jl to build dependency graphs and efficiently manage distributed kernels through cuPyNumeric integration. Understand the core NDArray type that supports arbitrary dimensions and integral data types while behaving like standard Julia Arrays, with the key advantage of automatically distributing data across available hardware resources in distributed systems. Examine how high-level operations are translated into asynchronous tasks through the underlying C++ API and managed by the Legion programming system for optimal load balancing. Review the current API capabilities including common linear algebra operations such as matrix multiplication and einsum, unary and binary operations, and crucial stencil-based operations for solving partial differential equations numerically. Witness practical demonstrations of scaling performance through examples including a stencil-based PDE solver, Monte Carlo integration, and common computational kernels like SGEMM, showcasing the package's ability to seamlessly scale from single to multiple processors across distributed computing environments.
Syllabus
cuNumeric.jl : Automating Distributed Numerical Computing | Meitz, Krasowska
Taught by
The Julia Programming Language