Main Content

parallel.gpu.enableCUDAForwardCompatibility

GPU 장치에 대해 이후 버전과의 호환성 쿼리 및 설정

R2020b 이후

    설명

    tf = parallel.gpu.enableCUDAForwardCompatibility()는 GPU 장치에 대해 이후 버전과의 호환성이 활성화되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다. 디폴트 값은 false입니다.

    이후 버전과의 호환성이 비활성화되어 있으면, 사용 중인 MATLAB® 버전이 빌드된 후에 릴리스된 아키텍처를 가진 GPU 장치를 사용하여 연산을 수행할 수 없습니다.

    parallel.gpu.enableCUDAForwardCompatibility(tf)는 GPU 장치에 대해 이후 버전과의 호환성을 활성화하거나 비활성화합니다. tftrue(1) 또는 false (0)여야 합니다.

    이후 버전과의 호환성을 활성화할 경우, 사용 중인 MATLAB 버전보다 최신인 아키텍처를 가진 장치에 처음 액세스하면 CUDA® 드라이버가 GPU 라이브러리를 다시 컴파일합니다. 다시 컴파일하는 데 몇 분이 걸릴 수 있습니다.

    이후 버전과의 호환성 활성화는MATLAB 세션 간에 지속되지 않습니다.

    주의

    이후 버전과의 호환성을 활성화하면 GPU 연산 중에 잘못된 계산과 예기치 않은 동작을 야기할 수 있습니다.

    자세한 내용은 GPU 장치의 이후 버전과의 호환성 항목을 참조하십시오.

    예제

    모두 축소

    사용 중인 MATLAB 버전 이후에 릴리스된 아키텍처를 가진 GPU가 있는 경우에는 기본적으로 해당 GPU를 사용하여 MATLAB에서 연산을 수행할 수 없습니다. MATLAB에서 그러한 GPU를 사용하려면 GPU 장치에 대해 이후 버전과의 호환성을 활성화하십시오.

    이후 버전과의 호환성이 활성화되어 있는지 확인합니다.

    tf = parallel.gpu.enableCUDAForwardCompatibility()
    tf = 
       0
    

    이후 버전과의 호환성을 활성화합니다.

    parallel.gpu.enableCUDAForwardCompatibility(1)

    GPU 장치를 선택하고 사용합니다.

    gpuDevice(2);
    A = ones(100,'gpuArray');

    MATLAB에서 해당 GPU에 처음 액세스하면 CUDA 드라이버가 라이브러리를 다시 컴파일합니다. 다시 컴파일하는 데 몇 분이 걸릴 수 있습니다.

    입력 인수

    모두 축소

    설정할 이후 버전과의 호환성 상태로, 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다.

    예: 0

    데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

    GPU 장치의 이후 버전과의 호환성

    참고

    R2020b부터는 GPU 장치에 대해 이후 버전과의 호환성이 기본적으로 비활성화되어 있습니다.

    R2020a 및 이전 릴리스에서는 GPU 장치에 대해 이후 버전과의 호환성을 비활성화할 수 없습니다.

    사용 중인 MATLAB 버전 후에 릴리스된 아키텍처를 가진 GPU 장치를 사용하려면 이후 버전과의 호환성을 활성화하십시오.

    이후 버전과의 호환성을 활성화할 경우, 사용 중인 MATLAB 버전보다 최신인 아키텍처를 가진 장치에 처음 액세스하면 CUDA 드라이버가 GPU 라이브러리를 다시 컴파일합니다. 다시 컴파일하는 데 최대 1시간이 걸릴 수 있습니다. 이러한 지연이 반복되지 않게 하려면 CUDA 캐시 크기를 늘립니다. CUDA 캐시 크기를 늘리는 방법에 대한 지침은 CUDA 캐시 크기 늘리기 항목을 참조하십시오.

    주의

    이후 버전과의 호환성을 활성화하면 GPU 연산 중에 잘못된 계산과 예기치 않은 동작을 야기할 수 있습니다.

    장치 라이브러리를 다시 컴파일할 경우, 그 성공도는 장치 아키텍처와 MATLAB이 사용하는 CUDA에 따라 다릅니다. 경우에 따라, 이후 버전과의 호환성이 예상대로 작동하지 않고 라이브러리를 다시 컴파일할 때 오류가 발생합니다.

    예들 들어 CUDA 버전 10.0–10.2(MATLAB 버전 R2019a, R2019b, R2020a, R2020b)에서 Ampere(Compute Capability 8.x)로의 이후 버전과의 호환성은 기능이 제한됩니다.

    GPU 장치에 대해 이후 버전과의 호환성 활성화하기

    다음 방법 중 하나를 사용하여 GPU 장치에 대해 이후 버전과의 호환성을 활성화할 수 있습니다.

    • parallel.gpu.enableCUDAForwardCompatibility 함수를 사용합니다. 이 함수를 사용하면 이후 버전과의 호환성이 MATLAB 세션 간에 지속되지 않습니다. MATLAB 시작 시 이후 버전과의 호환성을 자동으로 활성화하려면 startup 스크립트에서 parallel.gpu.enableCUDAForwardCompatibility 함수를 호출합니다.

    • MW_CUDA_FORWARD_COMPATIBILITY 환경 변수를 1로 설정합니다. 이렇게 설정하면 MATLAB 세션 간에 이후 버전과의 호환성이 유지됩니다. MATLAB이 실행 중일 때 환경 변수를 변경하는 경우 MATLAB을 다시 시작해야 설정이 적용됩니다.

    CUDA 캐시 크기 늘리기

    CUDA 캐시 크기를 늘리려면 CUDA_CACHE_MAXSIZE 환경 변수를 최소 536870912(512MB)로 설정합니다.

    환경 변수 설정하기

    MATLAB 클라이언트에서 환경 변수를 설정하려면 setenv 함수를 사용합니다. 병렬 워커를 사용하고 있는 경우 Set Environment Variables on Workers 항목을 참조하십시오.

    확장 기능

    버전 내역

    R2020b에 개발됨