-
Recent Posts
Recent Comments
Tanner on MFC 25th Birthday Makeover (Pa… mydeveloperday on MFC 25th Birthday Makeover (Pa… mydeveloperday on MFC 25th Birthday Makeover (Pa… Paul Harrison on MFC 25th Birthday Makeover (Pa… Paul Harrison on MFC 25th Birthday Makeover (Pa… Archives
Categories
Meta
Tags
Tag Archives: Optimization
Adventure with SIMD – Part 5 – Detecting legal SIMD instructions
When i first started looking into SIMD/AutoVectorization there were a couple of questions that first came into my head. If the compiler is doing this automatically for me what version of the SIMD instructions is it using? What if my … Continue reading
Adventures with SIMD – Part 4 – SIMD Intrinsics
Looking at how we write a simple SIMD loop with Intrinsics Continue reading
Recording Timings for Optimization Measurement Experiments
In a number of my blog posts up to this point I’ve used a simple timing function call recordTime() to record time between 2 points in the code. I’ve been doing optimization enough to know you must measure everything. There … Continue reading
Posted in C++, Development, Programming
Tagged chrono, Development, Optimization, QueryPerformanceCounter
Leave a comment
Adventures in SIMD – Part 3 – OpenMP
I know before anyone says anything I know OpenMP isn’t SIMD, but in the process of evaluating SIMD and its suitability I do not want to overlook similar technologies. So up to now my interactions with OpenMP have really been … Continue reading
Posted in C++, Development, Programming
Tagged AutoVectorization, C++, OpenMP, Optimization, Parallelizm, Programming, SIMD
Leave a comment
Adventures in SIMD – Part2 – AutoVectorization
AutoVectorization ideally should solve all our SIMDization problems, it is where the compiler looks at our code and decides it can craft better vectorized code for us and assembles the instructions using SIMD vector optimized instructions. In practice AutoVectorization is … Continue reading
Posted in C++, Development
Tagged AutoVectorization, C++, Coding, Optimization, Programming, SIMD
Leave a comment
A loop is a loop is a loop…or is it
This is a aside to my SIMD posts, but it really shows AutoVectorization in action.. You might think all for next loops were built equal, but recently whilst looking at a tight looping in Intel VTune I was surprised that the loop … Continue reading
Posted in C++, Development
Tagged AutoVectorization, C++, Development, Optimization, SIMD
Leave a comment
Adventures in SIMD – Part 1- Introduction
Over the last 20 years we’ve seen massive growth in the speeds of CPU architectures where clock speeds where constantly increasing, however in the last couple of years we’ve seen this growth drastically slow. We’ve seen numbers of cores grow … Continue reading
Posted in C++, Development
Tagged Assembler, AutoVectorization, C++, Development, MultiThreaded, OpenMP, Optimization, SIMD
Leave a comment
When MOD went bad
When I recently used Intel VTune to understand why a hash based container seemed to be slow, it showed me something that surprised me. A “General Exploration” analysis showed excessive “DIV” instructions, caused by a mod function (e.g.) (in a tight loop) … Continue reading
33 years of developing!
Years after I first started programming on my ZX Spectrum, I still find myself doing what I love and getting paid for it, only the world has a much different way of learning than it used to. Gone are the … Continue reading
Posted in C++, Development
Tagged Assembler, C++, Development, Optimization, Programming
Leave a comment