Українська
Тема 7. Векторизація SIMD у .NET та паралельні алгоритми лінійної алгебри
Мета: ознайомитися з векторними регістрами й наборами інструкцій SIMD та засобами векторизації платформи .NET; навчитися писати векторизовані цикли на Vector<T> і Vector128/256/512<T> з масками та обробкою хвоста, використовувати TensorPrimitives; опанувати поєднання SIMD з багатопотоковістю в алгоритмах лінійної алгебри, вимірювання прискорення та перевірку результатів зі скалярною версією.
Зміст лекції
- SIMD і типи System.Numerics — SIMD у сучасних процесорах · Тип Vector<T> і типи System.Numerics
- Вектори фіксованої ширини та інтринсики — Вектори фіксованої ширини · Платформні інтринсики
- Пам’ять, хвіст і TensorPrimitives — Робота з пам’яттю та обробка хвоста · Бібліотека TensorPrimitives · SIMD і багатопотоковість
- Лінійна алгебра та продуктивність — Рівні BLAS і множення матриць · Паралельні методи розв’язання СЛАР · Вимірювання та аналіз продуктивності
- Приклади та типові помилки — Приклади програм · Типові помилки