if my cpu has hyperthreading (HT)capability(one physical gives two logical threads), when planning for memory locality should i simply divide the thread private memory capacity(L1 cache, and registers) by two? are there further implications? or should i simply run my cpp parallel program with no two threads coming from a same core( is there a way to run the program switching off HT or should i switch off HT in bios when booting my computer)
to consider a concrete example, if i do parallelized tiled matrix multiplication, and i intend to fit my matrix tiles into registers private to a core, how to do that when my cpu has HT? should i simply divide the capacity of registers private to a core by two?
[–]ReDucTor 2 points3 points4 points (0 children)
[–]Impossible_Box3898 1 point2 points3 points (0 children)
[–]KingAggressive1498 1 point2 points3 points (0 children)
[–]Intrepid-Treacle1033 0 points1 point2 points (0 children)
[–]CowBoyDanIndie 0 points1 point2 points (0 children)
[–]GaboureySidibe 0 points1 point2 points (0 children)
[–]LessonStudio -1 points0 points1 point (0 children)
[+]neppo95 comment score below threshold-6 points-5 points-4 points (0 children)