비거주 할당에 대한 액세스
상주하지 않는 할당에 대한 GPU 액세스는 불법입니다. 이러한 액세스로 인해 오류를 생성한 애플리케이션에 대한 디바이스가 제거됩니다.
장애 엔진이 GPU 가상 주소 지정을 지원하는지 여부에 따라 이러한 잘못된 액세스를 처리하는 두 가지 고유한 모델이 있습니다.
GPU 가상 주소 지정을 지원하지 않는 엔진의 경우 할당 및 패치 위치 목록을 사용하여 메모리 참조를 패치합니다.
사용자 모드 드라이버가 디바이스에 상주하지 않는 할당을 참조하는 할당 목록을 제출할 때 잘못된 액세스가 발생합니다(즉, 사용자 모드 드라이버가 해당 할당에서 MakeResidentCb 를 호출하지 않음). 이 잘못된 액세스가 발생하면 그래픽 커널이 잘못된 컨텍스트/디바이스를 오류로 표시합니다.
GPU 가상 주소 지정을 지원하지만 잘못된 GPU VA(가상 주소)에 액세스하는 엔진의 경우:
GPU는 인터럽트 형태로 복구할 수 없는 페이지 오류를 발생해야 합니다. 페이지 오류 인터럽트가 발생하면 커널 모드 드라이버는 새 페이지 오류 알림을 통해 그래픽 커널에 오류를 전달해야 합니다. 그래픽 커널이 이 알림을 받으면 오류 엔진에서 엔진 재설정을 시작하고 오류 컨텍스트/디바이스를 오류로 설정합니다. 엔진 재설정에 실패하면 그래픽 커널이 오류를 전체 어댑터 전체 TDR(시간 제한 검색 및 복구)으로 승격합니다.
잘못된 VA 액세스는 VA 뒤에 할당이 없거나 유효한 할당이 있지만 상주하지 않았기 때문에 발생할 수 있습니다.