본문 바로가기

dev_AI_framework

BACKEND 부분 수정하기... 연산 방식의 수정

목표

  • CPU↔GPU 토글이 가능한 Backend 층을 추가.
  • 새 ML 추정기(Linear/Ridge/Lasso/Logistic 등)는 Backend API만 호출하도록 변경.
  • 기존 DL 레이어/커널은 그대로 재사용(CUDABackend 안에서 호출).

 

변경/추가 개요 (요약 표)

추가 backend/base.py 새로 생성 공통 인터페이스(추상): gemm/gemv/sigmoid/softmax/sum/axpy/dot + (옵션) cholesky_solve, conjugate_gradient, prox_soft_threshold
추가 backend/cpu.py 새로 생성 NumPy/Scipy로 CPUBackend 구현
추가 backend/cuda.py 새로 생성 네 CUDA 커널/cuBLAS/cuSOLVER를 감싸는 CUDABackend 구현 (기존 커널 재사용)
수정 ml/linear_model/linear_models.py 일부 수정 각 모델에 backend 인자 추가, 내부 연산을 self.backend.* 호출로 치환
(선택) ml/preprocessing/… 옵션 전처리 결과를 GPU 상주로 유지하고 싶다면 to_device()/to_host() 헬퍼 추가
(유지) model_selection 그대로 GridSearch/CV는 그대로 사용. 단, param_grid에 backend 넣지 않기