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.