fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

9.8K
active users

#openblas

0 posts0 participants0 posts today

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.

habr.com/ru/articles/902442/

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

Determined actual leaf ports (non meta port) depending on using ports-mgmt/pkg_tree, try starting up gimp, kdenlive went fine. xsane crashed but in epsonscan2 part which does not depend on openblas. starting up epsonscan2 (not depending on openblas) directly caused crash with SiGILL, so maybe openblas built with gcc12/gfortran12 seems to be fine.

For anyone struggling from build failure of math/openblas:
Try setting "USE_GCC= 12" for math/openblas like below in /etc/make.conf.
Not yet tested the resulting package runs OK with its consumers, as the build for it just finished sanely but builds for a plenty of ports are still ongoing, thus, prevent me from trying.

.if ${.CURDIR:M/usr/ports/math/openblas}
USE_GCC= 12
.endif

No fail, no gain: как мы исправили более миллиона тестов, проверяя оптимизацию библиотеки OpenBLAS под RISC-V

Открытая архитектура RISC-V активно развивается: в стандарт добавляются новые расширения и инструкции, разрабатываются новые ядра и SoC. Поскольку многие компании видят перспективы архитектуры и готовы использовать ее в продакшене, создается программный стек для высокопроизводительных вычислений — RISC-V HPC (High Performance Computing). Прогресс сопровождает формирование нового тренда — OpenHPC. Он заключается в технологической независимости от решений коммерческих компаний. Причем это относится не только к ПО, но и к железу. Чтобы концепция OpenHPC реализовывалась быстрее, нужно, чтобы к инициативе присоединилось как можно больше компаний, помогающих в развитии экосистемы решений для RISC-V HPC. Меня зовут Андрей Соколов, я инженер-программист в компании YADRO. В R&D-команде мы поставили перед собой задачу: изучить, как можно поддержать архитектуру RISC-V со стороны библиотек линейной алгебры BLAS и LAPACK. Тестирование одной из open source-библиотек привело нас к интересным открытиям, о которых я расскажу под катом. Результаты тестов

habr.com/ru/companies/yadro/ar

ХабрNo fail, no gain: как мы исправили более миллиона тестов, проверяя оптимизацию библиотеки OpenBLAS под RISC-VОткрытая архитектура RISC-V активно развивается: в стандарт добавляются новые расширения и инструкции, разрабатываются новые ядра и SoC. Поскольку многие компании видят перспективы архитектуры и...

At what point does setting more threads for OpenBLAS actually help?

For example, I have an SVD operation in #RStats on largish matrices (6000 rows and 6000 columns; doing an inverse), where default BLAS on Ubuntu is ~ 20 min.

OpenBLAS with 1 or 4 threads takes ~ 2 min (10X speedup!). With 4 threads, I can see the additional usage of cores, but overall time is the same as 1 thread.

Is there some magic size where using more threads for SVD will actually help?

Time for an #introduction!
I'm a young Canuck with interests/experience in #HPC, #Linux, #BLAS, #SYCL, #C, #AVX512, #Rust, heterogeneous compute & other such things.

Currently my personal projects are bringing #FP16 to the #OpenBLAS library, working to standardize what Complex domain BLAS FP16 kernels/implementations should look like, and making sure #SYCL is available everywhere.

I also write every now and again. Here's the tail of AVX512 FP16 on Alderlake
gist.github.com/FCLC/56e4b3f4a

GistOn AVX512 FP16, Alder Lake, custom kernels, and how "Mistakes were made" has never rang so trueOn AVX512 FP16, Alder Lake, custom kernels, and how "Mistakes were made" has never rang so true - A not so brief discussion of Alder Lake, the new AVX512 FP 16 extensions, Sapphire Rapids...

It seems that Chris Zimmerman is unstoppable.
Now he started porting @llgcode@twitter.com's draw2d to #CrystalLang:

github.com/crystal-data/draw.c

RT @alexanderadam__@twitter.com

Wow, Chris Zimmerman from Knowledge Based Systems (#KBSI) created some alternatives for #numpy / scientific computing libraries in @CrystalLanguage@twitter.com:

github.com/crystal-data/

i.e. bindings for @openclapi@twitter.com / @OpenCLorg@twitter.com & calculations with #OpenBLAS or #LAPACK.

🐦🔗: twitter.com/alexanderadam__/st

GitHubGitHub - crystal-data/draw.cr: Crystal port of the fantastic https://github.com/llgcode/draw2dCrystal port of the fantastic https://github.com/llgcode/draw2d - GitHub - crystal-data/draw.cr: Crystal port of the fantastic https://github.com/llgcode/draw2d