Умножение матриц: пример использования расширения ARM SME2 в Apple M4 Pro

В конце 2020 года я купил MacBook Pro 13 на процессоре Apple M1, очень хотелось испытать процессоры на архитектуре ARM. Почти сразу на чипе Apple M1 был найден вычислительный блок для матричных операций Apple AMX. Для Apple AMX не было документации, он не использовался в Apple Accelerate , но несколько энтузиастов занимались реверс-инжинирингом и анализом производительности ( " https://github.com/corsix/amx " ). В 2024 году вышли компьютеры на базе семейства процессоров Apple M4, у которых блок AMX задействован для выполнения инструкций из Scalable Matrix Extension 2 (сайт ARM недоступен в РФ) (ARM SME2). В статье рассмотрим использование расширения ARM SME2 на примере умножения заполненных матриц. Увидим, как выжать максимум из процессора и получить прирост производительности в десятки раз.

https://habr.com/ru/articles/1012528/

#ARM_SME #Apple_M #gemm #умножение_матриц #линейная_алгебра #вычислительные_методы #высокопроизводительные_вычисления #оптимизация_кода #векторные_инструкции #векторные_исчисления

GitHub - corsix/amx: Apple AMX Instruction Set

Apple AMX Instruction Set. Contribute to corsix/amx development by creating an account on GitHub.

GitHub

tritonBLAS: Triton-based Analytical Approach for GEMM Kernel Parameter Selection

#Triton #BLAS #GEMM #AMD #ROCm #HPC #Performance #Package

https://hgpu.org/?p=30441

tritonBLAS: Triton-based Analytical Approach for GEMM Kernel Parameter Selection

We present tritonBLAS, a fast and deterministic analytical model that uses architectural parameters like the cache hierarchy, and relative code and data placement to generate performant GPU GEMM ke…

hgpu.org

NVIDIA wprowadza CuTe DSL w CUTLASS 4 – Python zbliża się do C++ w wydajności

Czy da się dogonić C++ wydajnością, pisząc w Pythonie – i to bez czarów, bez sugar-coata i bez tygodni czekania na kompilację? NVIDIA twierdzi, że tak: nowy CuTe DSL w CUTLASS 4 obiecuje „C++-owe” osiągi Tensor Cores z wygodą pythonowych API.

Czytaj dalej:
https://pressmind.org/nvidia-wprowadza-cute-dsl-w-cutlass-4-python-zbliza-sie-do-c-w-wydajnosci/

#PressMindLabs #cutedsl #cutlass #gemm #nvidia #pythonjit

Учимся разрабатывать для GPU на примере операции GEMM

Привет, Хабр! Сегодня я расскажу про реализацию матричного умножения и особенности разработки для GPU. Познакомлю вас с устройством GPU, объясню, чем отличается программирование от привычного для CPU, какие нюансы нужно учитывать для эффективной реализации операций GEMM. А затем сравним производительность разных подходов к реализации.

https://habr.com/ru/companies/yadro/articles/934878/

#gpu_вычисления #opencl #gemm

Учимся разрабатывать для GPU на примере операции GEMM

Привет, Хабр! На связи Кирилл Колодяжный, разработчик систем хранения данных в YADRO , ML-энтузиаст, автор книги Hands-on Machine Learning with C++. Сегодня я расскажу про реализацию матричного...

Хабр

Учимся разрабатывать для GPU на примере операции GEMM

Привет, Хабр! Сегодня я расскажу про реализацию матричного умножения и особенности разработки для GPU. Познакомлю вас с устройством GPU, объясню, чем отличается программирование от привычного для CPU, какие нюансы нужно учитывать для эффективной реализации операций GEMM. А затем сравним производительность разных подходов к реализации.

https://habr.com/ru/companies/yadro/articles/934878/

#gpu_вычисления #opencl #gemm

Учимся разрабатывать для GPU на примере операции GEMM

Привет, Хабр! На связи Кирилл Колодяжный, разработчик систем хранения данных в YADRO , ML-энтузиаст, автор книги Hands-on Machine Learning with C++. Сегодня я расскажу про реализацию матричного...

Хабр

OpenBLAS/gemm отстаёт на RISC-V

В ходе недавних исследований мы выполнили комплексное тестирование производительности математической библиотеки OpenBLAS на платформе RISC‑V и выявили существенную разницу в скорости выполнения ключевой операции матричного умножения cblas_sgemm по сравнению с архитектурой x86 — производительность оказалась значительно ниже. cblas_sgemm — функция для умножения матриц, состоящих из 32-разрядных вещественных чисел. Хотелось бы обратить внимание на то, что функция матричного умножения gemm, соответствующая стандартам BLAS, используется во многих библиотеках и алгоритмах. А OpenBLAS — одна из самых популярных реализаций стандарта BLAS с оптимизацией под различные платформы. Так на x86_64 OpenBlas получает производительность примерно 80–90% от теоретического максимума процессора. А на Risc‑v примерно 20–25%. Также была рассмотрена самостоятельно реализованная функция перемножения матриц mini‑gemm по алгоритму описанному в статье . При этом наша реализация получает производительность 30–35% от максимума. Из чего встает два вопроса: почему на RISC‑V не получили 80%, как на x86_64 и как так вышло, что наша реализация обогнала OpenBLAS.

https://habr.com/ru/articles/902442/

#openblas #gemm #riscv #производительность

OpenBLAS/gemm отстаёт на RISC-V

В ходе недавних исследований мы выполнили комплексное тестирование производительности математической библиотеки OpenBLAS на платформе RISC-V и выявили существенную разницу в скорости выполнения...

Хабр
🧐 Welcome to the thrilling world of "#DeepSeek," where they unleash their groundbreaking #FP8 #GEMM #Kernels, as if these buzzwords mean anything to normal humans. 🤖✨ Now you too can revel in the #excitement of "#fine-grained #scaling," because who doesn't dream of spending their weekends scaling kernels? 🎉 #GitHub's #navigation menu is undoubtedly the real star here, stealing the show with its riveting toggle action. 🚀
https://github.com/deepseek-ai/DeepGEMM #tech #HackerNews #ngated
GitHub - deepseek-ai/DeepGEMM: DeepGEMM: clean and efficient FP8 GEMM kernels with fine-grained scaling

DeepGEMM: clean and efficient FP8 GEMM kernels with fine-grained scaling - deepseek-ai/DeepGEMM

GitHub

Understanding GEMM Performance and Energy on NVIDIA Ada Lovelace: A Machine Learning-Based Analytical Approach

#CUDA #EnergyEfficient #GEMM #Performance #MachineLearning #ML #Package

https://hgpu.org/?p=29570

Understanding GEMM Performance and Energy on NVIDIA Ada Lovelace: A Machine Learning-Based Analytical Approach

Analytical framework for predicting General Matrix Multiplication (GEMM) performance on modern GPUs, focusing on runtime, power consumption, and energy efficiency. Our study employs two approaches:…

hgpu.org
Detailing the tiling scheme used for a CUDA kernel doing matrix-matrix multiplication #gpu #cuda #cplusplus #matmul #gemm https://indii.org/blog/gpu-matrix-multiply-tiling/
Matrix Multiplication On GPU: Part 2, Tiling

Breaking down large matrix multiplications into tiles

indii.org

Fast and Practical Strassen’s Matrix Multiplication using FPGAs

#OpenCL #FPGA #MatrixMultiplication #BLAS #LinearAlgebra #GEMM #Package

https://hgpu.org/?p=29241

Fast and Practical Strassen’s Matrix Multiplication using FPGAs

Matrix multiplication is a cornerstone operation in a wide array of scientific fields, including machine learning and computer graphics. The standard algorithm for matrix multiplication has a compl…

hgpu.org