Тёмный

Adventures in SIMD-Thinking - Bob Steagall - [CppNow 2021] 

CppNow
Подписаться 32 тыс.
Просмотров 4,6 тыс.
50% 1

#Boost #Cpp #CppNow
Slides: cppnow.org/his...
CppNow Website: cppnow.org
CppNow Twitter: @CppNow
Streamed & Edited By Digital Medium Ltd: events.digital...
------
SIMD capabilities are virtually ubiquitous in modern computing hardware, and yet much of that computing capacity often goes unused. This talk will provide a high-level overview of the SSE, AVX, and AVX-512 instruction set architecture provided by Intel microprocessors, and provide some specific examples of real-world problems where additional performance can be gained by thinking "vertically".
We'll begin with a quick, high-level description of the features provided by the SSE, AVX, and AVX-512 instruction sets. We'll then use C++ to compose a simple API employing various compiler intrinsics implementing those instruction sets. At the lowest level, the API will wrap some primitive operations, and then build some very useful basic operations (like multi-register shift) upon those primitives. We'll then build some facilities for comparison and arithmetic, and finally round out the API with functions for load and store. During all of this, we'll use C++ to provide type safety, reduce complexity, and maximize performance.
Next, we'll take a look at how this simple API can be used to improve performance for a handful of interesting problems, like sorting the values stored in a register, creating a very fast 1-D median filter, or high-speed convolution and correlation with kernels that fit within a single register.
------
Bob Steagall
Program Chair, KEWB Computing
------
May 1, 2022 - May 6, 2022 - Aspen, Colorado
-------------------------
---
*--*
---

Опубликовано:

 

3 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 12   
@simfoo
@simfoo 3 года назад
I'm a simple man. I see a Bob Steagall video, I click on it. Awesome presenter and you always learn a thing or two.
@benjaminshinar9509
@benjaminshinar9509 3 года назад
this was the first time i managed to follow along a SIMD lecture. I won't be able to do it myself or explain most of it, but I didn't feel lost.
@hosseinaghakhani6733
@hosseinaghakhani6733 2 года назад
An excellent talk. Explained everything beautifully.
@BoostCon
@BoostCon 2 года назад
Glad you liked it!
@BobBeatski71
@BobBeatski71 9 месяцев назад
Now that was an amazing tutorial on SIMD and how 'windowing' is applied to input data (signals). 👍
@BoostCon
@BoostCon 9 месяцев назад
Glad to hear how much you appreciated this presentation.
@aajas
@aajas 4 месяца назад
1:22:33 - my suspicion is that clang was spilling registers, which is always something to check for. They provide an amazingly wonderful tool called llvm-mca to do analysis llvm-mca takes as input the machine code and generates the intra-cycle pipeline analysis that it perceives a given processor architecture will execute.. (Most importantly where and why it will stall) AVX-512 with 32 regs was always somewhat of a wild idea, so it wouldn't be surprising that clang was not optimized for it
@MaksimVolkau
@MaksimVolkau 8 месяцев назад
amazing galaxy brain content is here!
@origamibulldoser1618
@origamibulldoser1618 8 месяцев назад
This should be good :)
@codesolution1715
@codesolution1715 3 года назад
👍👍👍
@SimonToth83
@SimonToth83 3 года назад
Strange results, n-th element should be O(N), so at larger inputs that should make it faster.
@SimonToth83
@SimonToth83 3 года назад
Ah, nvm, this is n-th element on 7 elements always, so yeah, the overhead will prevail then.
Далее
小路飞嫁祸姐姐搞破坏 #路飞#海贼王
00:45
Лучше одной, чем с такими
00:54
Просмотров 942 тыс.
The Art of SIMD Programming by Sergey Slotin
52:06
Просмотров 10 тыс.
SIMD Libraries in C++ - Jeff Garland - CppNow 2023
1:30:07
小路飞嫁祸姐姐搞破坏 #路飞#海贼王
00:45