Source
- URL: https://x.com/tomcr2100/status/2058461731639161009
- Author: Tom Keresztes (@tomcr2100)
- Posted: 2026-05-24 08:14:55
Branch
1/ @tomcr2100
@AgileJebrim
mapreduce. simple enough answer ? 😉
2/ @AgileJebrim
@tomcr2100
Design its implementation.
3/ @tomcr2100
@AgileJebrim
start with processing in N chunks, every chunk is a wave, loading wide to feed ALU, and avoid trashing cache by different wave reads. Waves write to a fixed location in a buffer of size N. Works for sets that don’t fit into memory (transfers). Overflow TBD. Out of characters👾
4/ @AgileJebrim
@tomcr2100
I don’t see any additions or reductions discussed, just memory loads and stores.
5/ @tomcr2100
@AgileJebrim
Sorry, typical twitter superficial moment. I meant each block reduces a portion of the array, multiple kernel invocations to reduce sync, and try to rely on sequential addressing d[i] + d[i + offset] to avoid bank conflicts when writing the result to global memory.
6/ @AgileJebrim
@tomcr2100
Can you show me what the first for loop looks like?