Back in late September, I posted a series of PowerPoint slides describing the IBM z/Architecture vector facilities on my Google Drive: https://drive.google.com/file/d/13OhBkhgbU7N6a20nVo5uEAnR-s3-Pyz8/view?usp=sharing
The most common response I've received is something to the effect of "good stuff ... now what do I do with it?" Last Christmas, I received a really annoying puzzle as a gift ... annoying because solving it involved a lot of repetitive stress on my already inflamed carpals. A simple C program did the trick, but I wanted to see if I could use the vector ops to do better, so I started researching them. This led to a months-long documentation project resulting in the slides mentioned above. I've put together another short presentation — only 11 slides — that describe the puzzle and one solution using vector instructions. There are numerous features of the vector architecture, but this pitch illustrates what I think are a few key points: SIMD, branch avoidance, and a really neat instruction (VPERM). Unlike my previous stuff, there is no animation in these slides; the meat of it is in the presenter notes, so make sure you view the notes page. https://docs.google.com/presentation/d/1gD089nRo8Lch-rkg7T7pbwclBAvsp0bf/edit?usp=sharing&ouid=104012833061983447284&rtpof=true&sd=true Enjoy!
