cuNumeric.jl - Automating Distributed Numerical Computing
The Julia Programming Language via YouTube
PowerBI Data Analyst - Create visualizations and dashboards from scratch
AI Product Expert Certification - Master Generative AI Skills
Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
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