본문 바로가기

GPU-KERNEL

cudaGetDeviceProperties - 3080ti laptop

#include <iostream>
#include <cuda_runtime.h>

int main() {
    cudaDeviceProp prop;
    int device_id = 0;

    cudaGetDeviceProperties(&prop, device_id);

    std::cout << "===== GPU Device Info =====" << std::endl;
    std::cout << "Name            : " << prop.name << std::endl;
    std::cout << "SM Count        : " << prop.multiProcessorCount << std::endl;
    std::cout << "Warp Size       : " << prop.warpSize << std::endl;
    std::cout << "Max Threads/SM  : " << prop.maxThreadsPerMultiProcessor << std::endl;
    std::cout << "Max Threads/Block: " << prop.maxThreadsPerBlock << std::endl;
    std::cout << "Regs Per SM     : " << prop.regsPerMultiprocessor << std::endl;
    std::cout << "Regs Per Block  : " << prop.regsPerBlock << std::endl;
    std::cout << "Shared Mem Per SM (bytes) : " << prop.sharedMemPerMultiprocessor << std::endl;
    std::cout << "Shared Mem Per Block (bytes) : " << prop.sharedMemPerBlock << std::endl;
    std::cout << "Max Blocks/SM   : " << prop.maxBlocksPerMultiProcessor << std::endl;

    std::cout << "Compute Capability : "
              << prop.major << "." << prop.minor << std::endl;

    std::cout << "Clock Rate (KHz)   : " << prop.clockRate << std::endl;

    return 0;
}

///////////////////////////////////////////////////////

===== GPU Device Info =====
Name            : NVIDIA GeForce RTX 3080 Ti Laptop GPU
SM Count        : 58
Warp Size       : 32
Max Threads/SM  : 1536
Max Threads/Block: 1024
Regs Per SM     : 65536
Regs Per Block  : 65536
Shared Mem Per SM (bytes) : 102400
Shared Mem Per Block (bytes) : 49152
Max Blocks/SM   : 16
Compute Capability : 8.6
Clock Rate (KHz)   : 1125000

 

SM Count 58 병렬성의 실제 상한
Warp Size 32 거의 고정, 스레드 구조 기준
Max Threads / SM 1536 SM 내부에서 동시에 수행 가능한 최대 스레드 수
Max Blocks / SM 16 SM당 block 동시 실행 최대 개수
Regs Per SM 65536 register tiling 가능 한계
Regs Per Block 65536 block당 최대 사용 가능 레지스터수
Shared Memory Per SM 100 KB (102400 bytes)
Shared Memory Per Block 48 KB tiling limit (단 96KB까지 설정 가능, config 조건 따라)
Clock Rate 1.125 GHz 계산 속도 직접 계산 가능
Compute Capability 8.6 Ampere Tensor Core 가능 SSA

 

Occupancy 최대 도달 조건 ( 수식화 )

SM 내부 워크 수 제한

가능 워프 수 = (max threads per SM) / (warp_size)
             = 1536 / 32 = 48 warps/SM