# BlogCategory: Maths

### C++17 parallel algorithms and HIPSTDPAR – AMD lab notes

This post discusses how to leverage C++17 parallel algorithms on AMD GPUs with HIPSTDPAR

### Sparse matrix vector multiplication – part 1 – AMD lab notes

Sparse matrix vector multiplication (SpMV) is a core computational kernel of nearly every implicit sparse linear algebra solver. This is the first post in the series covering SpMV.

### Finite difference method – Laplacian part 4 – AMD lab notes

In the fourth and final part of Finite Difference Laplacian blog series we cover scaling studies and cache size limitations

### Two-level radiance caching for fast and scalable real-time dynamic GI in games (GDC 2023 – YouTube link)

This presentation is a practical implementation of a solution aimed at making the most of every sample by caching the estimated radiance into a cache hierarchy used for both sampling and filtering.

### Pre-multiplication, left-handed coordinate system as in DirectX® 9 – Matrix Compendium

GPUOpen Matrix Compendium: This page shows a selection of matrices in the coordinate system expected by DirectX® 9.

### Introduction – Matrix Compendium

The GPUOpen Matrix Compendium covers how matrices are used in 3D graphics and implementations in host code and shading languages. It’s a growing guide, so keep checking back!

### Pre-multiplication, right-handed coordinate system – Matrix Compendium

GPUOpen Matrix Compendium: This page shows a selection of matrices in a pre-multiplication, right-handed coordinate system.

### Post-multiplication, right-handed coordinate system as in OpenGL® – Matrix Compendium

GPUOpen Matrix Compendium: This page shows a selection of matrices in the coordinate system expected by OpenGL®.

### Post-multiplication, left-handed coordinate system – Matrix Compendium

GPUOpen Matrix Compendium: This page shows a selection of matrices in a post-multiplication, left-handed coordinate system.

### Real-time Sparse Distance Fields for Games (GDC 2023 – YouTube link)

This presentation introduces a novel algorithm for PC and console developers to efficiently generate sparse distance fields in real-time.

### Finite difference method – Laplacian part 2 (amd-lab-notes)

In this post we introduce two common optimizations that can be applied to the kernel to reduce data movement and bring us closer to the new peak: loop tiling to explicitly reduce memory loads and re-order the memory access pattern to improve caching.

### Introducing AMD lab notes – new programming tutorials for HPC and ML

In this blog series, we share the lessons learned from tuning a wide range of scientific applications, libraries, and frameworks for AMD GPUs.