Examples With Orthogonal/Unitary Factors#

All examples are in 03_Orthogonal_Factors/. Block, thread, and cluster execution variants are provided.

  • geqrf_batched_block.cu, geqrf_batched_thread.cu

These examples compute QR factorization on batched M x N matrices. Results are compared with the cuBLAS host API cublas<t>geqrfBatched.

  • geqrf_batched_cluster.cu

This example demonstrates experimental cluster execution for GEQRF on Hopper or later GPUs. One thread block cluster processes one batch; each CTA owns an NB x N row tile (NB = ceil(M / BPC)) in distributed shared memory. The kernel loads tiles with load_global_to_dsmem, factors with Cluster() + BlocksPerCluster<>, stores with store_dsmem_to_global, and uses cudaLaunchKernelExC with cluster launch attributes. Results are compared with the cuBLAS host API cublas<t>geqrfBatched.

  • ungqr_batched_block.cu, ungqr_batched_thread.cu

These examples form the orthogonal/unitary matrix Q from the QR factorization of a batched M x N matrix. Results are compared with the cuSolver host API cusolverDnXungqr.

  • unmqr_batched_block.cu, unmqr_batched_thread.cu

These examples multiply a batched matrix by the orthogonal/unitary matrix Q from QR factorization. Results are compared with the cuSolver host API cusolverDnXunmqr.