Thanks for the high-quality video, just found this channel now!
@RuanD
7 ай бұрын
Really liked this video and I hope watching this series in the future after I finish learning the basics of C++. Keep it up!
@theintjengineer
Жыл бұрын
Given that I also learn CUDA C++, SIMD was familiar haha Another amazing video, Nick. Please, keep them coming.
@CoffeeBeforeArch
Жыл бұрын
Glad you enjoyed it! Cheers, --Nick
@romanzelinskyi7566
Жыл бұрын
Wow, very awesome video Nick. I never knew about such thing.
@angelomanna8897
Жыл бұрын
1. can auto-vectorisation work with OpenMPI code? 2. any user-defined method inside the loop will execute when compiled with auto-vectorisation (sometimes parallel libraries like MPI have problems with “de-pickling” the method) ?
@CoffeeBeforeArch
Жыл бұрын
Yes, you can have a vectorized, multi-threaded, multi-process application. I don't quite understand the second question - the auto-vectorizer will try and vectorize whatever it finds capable of/benificial to vectorize.
@MyChannelZs
Жыл бұрын
Hey Nick! Any reason here for you to use -O2 over -O3?
@CoffeeBeforeArch
Жыл бұрын
O3 turns the vectorizer on by default, so I used to O2 to make the only difference in optimization the vectorizer
@shaytal100
Жыл бұрын
@@CoffeeBeforeArch So when you compile with -O3 the -ftree-vectorize flag would be redundant and would not make a difference?
@CoffeeBeforeArch
Жыл бұрын
@@shaytal100 adding -ftree-vectorize will not do anything different in that case. However, there are some additional flags that affect the vectorizer cost model that will be different between O2/O3. Additionally, GCC made vectorization enabled by default at -O2 with gcc12 released last year (with the very cheap cost model)
Пікірлер: 12