Adventures in Hyperthreading - now with STEREO SOUND!!!
Вставка
- Опубліковано 22 лип 2021
- Support What's a Creel? on Patreon: / whatsacreel
Office merch store: whats-a-creel-3.creator-sprin...
FaceBook: / whatsacreel
Re-upload with fixed audio! Thanks for letting me know all :)
This video is in response to a question from a viewer. We explore hyperthreading and see how we can get the most out of it within our apps.
Thanks all, have a good one :)
Music:
Mozart, W.A. Clarinet Concerto Mvt. 2 K. 622
University Symphony Orchestra; Abraham Kaplan, conductor; William McColl, basset clarinet, using an instrument of his own construction.
soniventorum.com/soniventorum...
Background images from animations from HDRI Haven: hdrihaven.com/
Agner Fog Instruction Tables:
www.agner.org/optimize/instru...
Software used to make this vid: Visual Studio 2019 Community: www.visualstudio.com/downloads/
Blender: www.blender.org/
Audacity: www.audacityteam.org/
Davinci Resolve 16: www.blackmagicdesign.com/prod...
OpenOffice: www.openoffice.org/
Gimp: www.gimp.org/
The first upload counts as speculative execution ;)
Ha! hopefully the branch predictor can listen to the audio before he uploads in the future :)
Mozart Clarinet Concerto.
Aussie content.
Hyperthreading.
Never thought I'd see all three in one video, but now I've died and gone to heaven.
LOVE CREEL!!!
Ha! Back at ya Okapi :)
Pointer chasing with some compute is where the HT shines. One of the threads stalls on the memory, then the other can do its compute part and vice versa. In general the pipeline stall is where the HT should help. Max benefit from of HT saw is 1.7x in very carefully thought and well written tree traversal. Compute part was almost equal to memory latency. Beautiful code.
SMT = Simultaneous Multi Threading. Great video.
This man is a legend!
Ha!! Cheers mate :)
Missed u man. Glad to see you back!!
Thanks mate, missed yall too :)
Guess who's back
Back again
Creel's back
Tell a friend
Guess who's back, guess who's back
Guess who's back, guess who's back
Guess who's back, guess who's back
Guess who's back
Two kangaroos go round the outside, round the outside
Great to see you back!
Thanks, Creel! This is some great analysis. Always good to see your work.
Great, informative, and easy to follow as always. Thank you Chris. Cheers ;)
I love the video style, the backgrounds of some nice places, and text floating, something really unique never seen! :D
I was just wondering about this yesterday, cheers
Another super interesting video !
i LOVE your videos man
Been waiting for the next video :P Interesting stuff. Cheers from Poland
Cheers from Oz my Polish friend :)
Thanks Creel!
Impeccable music taste ... A man of culture and ability at once!
Any day you release a new video is a good day :)
Oh! and I thought of another topic that might be interesting, The burrows wheeler transform might be interesting :)
Great video! Thank you! :)
Glad to see you back
Glad to be back brus :)
Crikey Creel! Great vid again :-)
Nice Video, really illustrates the concept :)
Cheers mate, it's certainly an interesting topic!
@@WhatsACreel thanks for your work!
I had assumed hyperthradong was only compensating for L1 misses, didn't know it could do this much!
After long time !
It would be interesting if you would compare those two workloads fused together on the same thread and see if there are any benefits of manually changing code versus just spawning another thread and let hyperthreading do the rest of the work.
Love the video mate! Answered questions that have been floating around in my head for quite sometime and generated another one. Does hyperthreading really halve the context switching ? I guess a better question is .. what resources does a hyperthread use to context switch and does each physical core have these in duplicate and can they run in parallel? Here's where my ignorance shows , isn't context switching just saving and loading the state of a cores registers to memory?
Your Creelness, many thanks for taking this thourough expedition through the topic, needed a second to grock it all.
So the takeaway would be unless you have mixed workloads of similar size, stay away from hyperthreading (6:51) But isn't this the CPU putting both these hyperthreads on the same cores? So effectively using only 2 cores instead of the 4 of the non-HT version? Can you tell from the task manager?
I have a project where I want to see how well I can optimize it, and as part of that I'm parallelizing it. Now I'm really curious to see if writing integer and floating point versions of the same code and splitting the threads between them will see any performance increase. I'm especially interested because it's written in java (cause it derives from a CS assignment) - JIT is really powerful so I think it'll see enough native execution to benefit from stuff like this, but we'll see.
Does it work?
Found the data presentation a bit confusing tbh, but still interesting
Yes, I agree. I could have presented this better. Thanks for watching anywho, and cheers for the feedback :)
What processor were these tests run on? I would think that if you have 8 full cores then there should be almost linear scaling in the mixed workload with OS scheduling because everything would have it's own core. If the processor is only maybe 4 cores then it makes sense that hyperthreading would be faster.
Nice stereo boss
And video of course 👍
❤❤❤
why does adding a 3rd hyperthread (thread #2) not increase work to 2.0 but only to 1.5?
Is the source code for these test available?
Gpu is hyperthreading, SIMD and multithreading, all in all my 1050ti can have 12k active threads at once
You have zero control over the Windows scheduler unless you write a kernel driver to force it. Windows isn't designed for enthusiasts. I think a bootloader is worth the effort to cut out the Windows bloat and get better test results.
Oh that's good to know! It doesn't seem to do much switching with priority 2, but it definitely doesn't stop it completely. Anywho, cheers for sharing mate, great info :)
I though it will be without sound !
original post only had left ear audio 😅
Milliseconds -> ms
/sarcasm
y he say intel like hes a gated community connor bro