As my first foray into CUDA programming I set myself a challenge to experiment with different methods of finding the total sum of a large array of numbers, trying different strategies exposed via CUDA to see how different approaches compare and what comes out fastest. A lot of my GPU experience previously on PC has [ ]
I wanted to get a feel for how fast my AMD Radeon RX 6600 could transfer memory around and how much this changed depending on how much memory was being transferred as well as what type of memory was being copied to and from (E.g. UPLOAD or READBACK). I will also compare the results to [ ]
Slim Graphics is my toy graphics engine I ve been using to experiment with different graphical techniques and learn more about DirectX 12 as well as other graphical features such as Mesh Shaders as well as optimisation techniques. I have not designed the API to be perfectly optimal, nor have I set out to create the [ ]
Mutexs, Semaphores, Condition Variables, Critical Sections There are so many different synchronisation types to choose from but how do they compare in terms of performance and what other synchronisation types are there we can explore? My tests here have been written with a job-system in mind, where worker threads are waiting for work which is [ ]
I was recently running some performance benchmarks across different platforms to understand the cost of some simple mathematic functions such as sqrtf and quickly noticed, under certain circumstances compilers such as MSVC, Clang and GCC by default will not generate a single x86-64 sqrtss instruction, there is a little more to it I think discovering [ ]
Introduction There are plenty of fantastic websites out there which explain the technicalities of Gamma Correction and SRGB colour correction so won t try to do the same here. Instead this post is to show visually the effects of SRGB/Gamma Correction in image composition and how blending colours in SRGB space rather than linear space is [ ]
If your Windows executable is using /SUBSYSTEM:WINDOWS rather than /SUBSYSTEM:CONSOLE, something you will have noticed your output messages to stdout (printf, std::cout etc) will be missing. You can easily solve this however by spawning your own Windows console window and redirecting stdout to your new console. The code below will redirect all stdout stderr [ ]
If you re in a situation where your console output text is being truncated because so many lines have been output, you may want to increase the limit. Increase Windows Console Text Limit With a console window already spawned, right click the top and go to properties: Increase the Screen Buffer Size Height. You will be [ ]
Unity/Jumbo builds are a way of speeding up C/C++ compilation by compiling multiple c/cpp files as a single object file. Speed improvements can come from not having to re-parse and compile shared headers. Even in projects that use pre-compiled headers, there is an overhead of processing the pre-compiled header which can be avoided with Unity/Jumbo [ ]
Github Link: https://github.com/comeradealexi/MCP4131 Datasheet One of the most important parts of programming an MCP is studying the datasheet provided with it. For the MCP4131, you can download it here: https://www.microchip.com/en-us/product/MCP4131 It will provide everything you need to know about the chip. One of the most basic pieces of information we ll need to start with is [ ]