4 ms·
Any links you have to these talks would be invaluable, thanks!
by kjeetgill 7y ago
Any links you have to these talks would be invaluable, thanks!
- dragontamer 7y ago* https://channel9.msdn.com/Shows/Going+Deep/Cpp-and-Beyond-2012-Herb-Sutter-atomic-Weapons-1-of-2 https://channel9.msdn.com/Shows/Going+Deep/Cpp-and-Beyond-20... * https://www.youtube.com/watch?v=lVBvHbJsg5Y https://www.youtube.com/watch?v=lVBvHbJsg5Y EDIT: Honorable mention is Preshing's blog. https://preshing.com/20131125/acquire-and-release-fences-dont-work-the-way-youd-expect/ https://preshing.com/20131125/acquire-and-release-fences-don... There's so much there its hard to pick out anything in particular in Preshing's blog as a "must read". Its all very useful, but its also spread out over a lot of posts. I just picked the first link from search engines EDIT2: Honorable mention#2: The OpenCL 2.0 standard section 3.3.6: https://www.khronos.org/registry/OpenCL/specs/opencl-2.0.pdf https://www.khronos.org/registry/OpenCL/specs/opencl-2.0.pdf The C++11 draft standard defines "happens before" and all that good stuff, but it is a 1000+ page document. OpenCL 2.0 copy/pastes from the C11 / C++11 standards and puts it all in one section: 3.3.6, which is only about 3ish pages long (+additional pages for OpenCL specific stuff). OpenCL2.0 is missing consume/release semantics, but nobody implemented that yet anyway (even in C++ world, no one has bothered to properly implement a consume/release compiler yet). I guess OpenCL2.0 has the whole "local vs global" memory order thing going on, while C11 / C++11 is all one memory space. But I personally found OpenCL2.0's specification to be easier to read than the C++11 draft standard.