dev_AI_framework
AI 컴파일러의 구현 - graph_executor_v2 를 통해
명징직조지훈
2025. 9. 1. 13:39
진행 현황 요약
- 컴파일러 분리 구조 마련
- dev/backend/compiler/ 추가: ir/, passes/, kernels/, runtime/ 스켈레톤 구성.
- IR → Pass(canonicalize, fuse_elementwise) → 커널 선택(selector) → 실행(ExecutorV2) 파이프라인 연결.
- 네이티브 바인딩 v2 신설 & 빌드 성공
- dev/backend/graph_executor_v2/에 bindings_min_api.cpp, launch_table.cpp, my_kernels.cu(더미).
- CMake + scikit-build-core로 wheel 생성/설치 성공.
- install(TARGETS …) 추가로 wheel에 .pyd 포함 확인.
- graph_executor_v2.cp312-win_amd64.pyd 로딩 확인.
- DLL 로딩 문제 해결
- Windows에서 CUDA DLL 경로 문제 → os.add_dll_directory(CUDA_PATH\bin) 사용.
- 재사용을 위해 utils/load_cuda.ensure_cuda_dlls() 헬퍼로 공통화.
- ExecutorV2 보강
- 바인딩 선택 로직: v2 우선, v1 폴백, 필요 시 GE_NATIVE 환경변수로 강제.
- dry_run 지원, 디버그 정보 함수 추가.
- stream=None로 들어오던 이슈 → 정수 변환(기본 0)로 수정.
- smoke_compiler.py에서 경로/ DLL 설정 순서 정리하여 엔드투엔드 실행 완료.
- 스모크 테스트 통과
- smoke_test_v2.py(v2 단독) 정상.
- smoke_compiler.py(IR→Pass→커널선택→launch) 정상 호출까지 확인.
현재 상태 (한 줄)
- Python 주도 컴파일러 경로가 v2 바인딩을 통해 실제 launch_kernel 호출까지 동작하는 상태. (커널 본체는 아직 더미/스텁)
'dev_AI_framework' Related Articles