CUDA Driver API called
This commit is contained in:
35
vav2/docs/working/Driver_API_Implementation_Plan.md
Normal file
35
vav2/docs/working/Driver_API_Implementation_Plan.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# Driver API 통일 구현 계획
|
||||
|
||||
**날짜**: 2025-10-07
|
||||
**결정**: Hybrid API 실패 → Driver API 통일로 전환
|
||||
|
||||
## 구현 경과
|
||||
|
||||
### 시도 1: Hybrid API (실패)
|
||||
- Runtime API `cudaLaunchKernel()` 사용
|
||||
- 결과: `CUDA_ERROR_INVALID_HANDLE` 여전히 발생
|
||||
- 원인: Driver API 커널이 Runtime API surface를 인식 못함
|
||||
|
||||
## Driver API 통일 구현
|
||||
|
||||
### 수정 파일 목록
|
||||
1. `ExternalMemoryCache.h` - 타입 변경
|
||||
2. `ExternalMemoryCache.cpp` - Surface API 변경
|
||||
3. `D3D12SurfaceHandler.h` - 타입 변경
|
||||
4. `D3D12SurfaceHandler.cpp` - Kernel launch 원복
|
||||
|
||||
### 핵심 변경사항
|
||||
|
||||
**타입 변경**:
|
||||
- `cudaSurfaceObject_t` → `CUsurfObject`
|
||||
- `cudaResourceDesc` → `CUDA_RESOURCE_DESC`
|
||||
|
||||
**API 변경**:
|
||||
- `cudaCreateSurfaceObject()` → `cuSurfObjectCreate()`
|
||||
- `cudaDestroySurfaceObject()` → `cuSurfObjectDestroy()`
|
||||
- `cudaLaunchKernel()` → `cuLaunchKernel()` (원복)
|
||||
|
||||
## 검증 기준
|
||||
- ✅ Surface 생성 성공
|
||||
- ✅ Kernel launch 성공
|
||||
- ✅ 25 프레임 디코딩 성공
|
||||
Reference in New Issue
Block a user