본문 바로가기

dev_AI_framework

CUDA 연산 모듈 (.pyd) 이 Python 에서 import 되지 않음

1 : .pyd 파일의 위치가 Pyton 이 찾는 곳이 아님

파일은 build/lib.win-amd64-cpython-312/ 하위에 존재

하지만 Python 은 import operations_matrix_cuda 시 기본적으로 site-packages 또는 현재 경로만 탐새갛ㅁ

sys.path.insert(0, "<.pyd가 위치한 빌드 경로>")

 

2 : .pyd import 실패 -> 지정된 모듈을 찾을 수 없습니다.

pyd 는 찾았지만, 내부에서 사용하는 CUDA DLL (cudart64_12.dll) 을 로딩하지 못함

Windows 에서는 .pyd 안

에서 사용하는 외부 DLL 이 없으면 import 에 실패함

os.add_dll_directory("C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6/bin")

CUDA DLL 이 있는 디렉토리를 명시적으로 등록해야 내부 DLL 로딩 가능

 

 

import_cuda_module() 의 설정을 통해 이를 해결

def import_cuda_module():
    import sys, os

    # CUDA DLL 경로 등록
    os.add_dll_directory("C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6/bin")

    # .pyd 파일 위치 등록
    pyd_path = os.path.abspath("C:/Users/owner/Desktop/AI_framework-dev/dev/backend/backend_ops/operaters/build/lib.win-amd64-cpython-312")
    if pyd_path not in sys.path:
        sys.path.insert(0, pyd_path)

    # 프로젝트 루트 등록 (tests 경로를 인식시키기 위해)
    sys.path.insert(0, os.path.abspath("C:/Users/owner/Desktop/AI_framework-dev"))

    try:
        import operations_matrix_cuda
        print("✅ CUDA 연산 모듈 import 성공")
        return operations_matrix_cuda
    except Exception as e:
        print("❌ CUDA 연산 모듈 import 실패:", e)
        raise

 

'dev_AI_framework' 카테고리의 다른 글

node 클래스 정비  (0) 2025.04.11
CUDA 기반 loss function 계산  (0) 2025.04.11
디렉토리 구조 리팩토링  (0) 2025.04.08
직접 실행, pytest 실행 둘 다 가능하도록 수정  (0) 2025.04.07
pytest  (0) 2025.04.07