RUST on CPU - DAY1 / Part2
HTML-код
- Опубликовано: 16 дек 2024
- Course contents: numerical-rust...
In this online training, organized over 3 days, you will learn how to write efficient numerical computations for CPU platforms in Rust, through a combination of theoretical explanations and practical work.
We will first get to know Rust by manually implementing a few simple computations (squaring numbers, dot product...), gradually introducing needed language features as we go. Then we'll see how the underlying hardware can be used more efficiently through a combination of SIMD processing, instruction-level parallelism, and multi-threading.
Armed with this foundational knowledge, we will then scale the problem up to a more sophisticated numerical computation, the Gray-Scott reaction-diffusion model, which will introduce along the way. This will allow us to cover some of the more advanced performance optimization techniques that apply at this scale.
Target audience:
No prior knowledge of the Rust programming language or the Gray-Scott model (or computational chemistry in general) is required to follow this course. They will all be introduced during the lectures.
On the other hand, it is recommended to have at least basic knowledge of the following topics:
C language concepts and syntax (number types and arithmetic, string literals, stack vs heap)
Numerical computing (floating-point numbers, single- and multi-dimensional arrays)
Linear algebra (vectors and matrices, dot product and matrix multiplication)
Differential equations, numerical resolution via Euler and finite difference methods
IN BOTH VIDEOS (DAY1 - Part1 & Part2) : Rust for Numerical Computing
To start the training, we will introduce the use of Rust for numerical computing and available platforms for practical work, then jump into said practical work. At this stage, our focus will be to efficiently implement a few simple computations (squaring each element of an array of floating-point numbers, dot product...). This will ease the learning curve of participants new to Rust, while more experienced Rust practicioners will still enjoy insight into how small-scale numerical performance optimization (SIMD, ILP, multi-threading) is performed in Rust.