Saturday, November 11, 2023
Tuesday, September 26, 2023
Saturday, July 15, 2023
SIMD - transpose
Intel SIMD (AVX) transpose intrinsics
- _shuffle_* (mask)
- permute (mask)
- _unpacklo_, _unpackhi_
- _MM_TRANSPOSE4_PS & c++ - Fastest way to transpose 4x4 byte matrix - Stack Overflow
Example
Saturday, June 24, 2023
Intel vs. AMD architecture ...
Agner
Software optimization resources. C++ and assembly. Windows, Linux, BSD, Mac OS X (agner.org)
microarchitecture.pdf (agner.org)
Chips and Cheese
AMD’s Zen 4 Part 1: Frontend and Execution Engine – Chips and Cheese
CCD / CCX
CCX: core complex = 4 cores
CCD: core complex die = CCX + CCX, i.e., max 8 cores
refer to: AMD CCD and CCX in Ryzen Processors Explained | Hardware Times
SIMD
lec17_x86SIMD.pdf (ntu.edu.tw)
Friday, February 3, 2023
What is the difference between rint() and round() in C or C++?
From the ChatGPT
In C++, rint
is a function from the cmath
library that returns the nearest integer value to a given floating-point number, using rounding towards the nearest even number in case of tie.
On the other hand, round
is a function that also rounds a floating-point number to the nearest integer value, but it is part of the cmath
library only starting from C++11. In earlier versions of C++, round
is not available.
So, if you are using C++11 or later, you can use round
instead of rint
for rounding to the nearest integer value.
Please refer to banker's round
Sample Code: https://onlinegdb.com/q36smlQMz