|SLMath: Eisenbud Auditorium, Online/Virtual
Scaling Up Numerical Computing in Julia, Pt I
Writing code that seamlessly scales from an individual workstation to a supercomputing cluster is a complex task. In this tutorial, we will guide you on crafting efficient and high-performance code in Julia. We'll begin by identifying common pitfalls that can severely impact performance, such as type instability, the utilization of parametric types, and optimal data layout in memory.
Subsequently, we'll delve into techniques for scaling your code. We'll explore single instruction-multiple data (SIMD) operations, then progress to the use of green threads to enhance the performance of I/O processing. Following that, we'll demonstrate the principles of multithreading. The final stage of our journey will cover multiprocessing and the intricacies of massively parallel and distributed computing.
This workshop will be enriched with practical examples of parallelization patterns that are broadly applicable across various numerical computing endeavors.No Notes/Supplements Uploaded