Back to News
Advertisement
Advertisement

⚡ Community Insights

Discussion Sentiment

33% Positive

Analyzed from 175 words in the discussion.

Trending Topics

#simd#more#data#cache#stores#bad#ops#throughput#cpu#load

Discussion (6 Comments)Read Original on HackerNews

grg0about 1 hour ago
As a SIMD noob, one thing that wasn't obvious to me is that SIMD can also speed you up if your mem throughput is underutilized by having the CPU load more data per instruction. It isn't just about compute speedups, which is typically what it's advertised for. Using perf on Linux has been very educational for me to get an intuition for modern CPU performance.
Cloudefabout 1 hour ago
The way simd speeds up "compute" is indeed mainly the reason that you operate on multiple pieces of data at once.
grg0about 1 hour ago
Yeah, and in the blog post he mentions that he had to transform the data to SoA. If he had done that alone, he might already have seen a speedup from better cache utilization.

Also, I see no mention of alignment in the post. I understand x86/AVX2 likes your load/stores to be aligned, even if it technically allows unaligned access.

dzaima40 minutes ago
Unaligned loads/stores aren't super bad; if still within a cacheline, there's zero penalty, and on crossing cachelines it's alike two ops (except page crossing, which is more bad).

So, for 32B loads/stores and 64B cachelines, it's 1.5x more L1 cache ops (as half of the ops will cross a cacheline); perhaps bad if you're L1-cache-throughput-bound, but less so if you're at L2+ as the extra work sits in L1.

brcmthrowawayabout 2 hours ago
No support for any ARM vector instructions.. thats horrible
tom_about 2 hours ago