A thread block contains a collection of threads that execute concurrently and share memory. It is also called workgroup in vulkan and WebGPU. This is the highest level in the thread hierarchy where synchronization is still possible.
A thread block can be organized in 1D, 2D, or 3D. Similarly, a grid consists of an array of thread blocks, which can also be arranged in 1D, 2D, or 3D.
On the hardware side, a thread block is composed of wavefronts.