반응형 Machine learning2 [CPU 병렬 처리] multiprocessing.Pool 사용법 알아보기 multiprocessing.pool은 여러 개의 프로세스를 미리 만들어두고 반복적인 작업을 효율적으로 분배, 수거하기 위한 고수준 추상화 모듈."CPU 코어 여러 개를 안전하게 쓰기 위한 python 표준 병렬 처리 관리자이다.즉, 프로세스 생성/종료를 직접 관리하지는 않고, "일을 던지면" 알아서 처리해주는 관리자 역할. 어떻게 작동하고 사용하는건지 간단한 예제를 통해 알아보자. 일반 for문 사용시for x in data: work(x)- 한번에 하나씩 실행- CPU 하나만 사용 Pool 사용from multiprocessing import Poolwith Pool(4) as p: p.map(work,data)- CPU 4개 동시에 실행- data에 있는 값들 하나하나를 work 라는 일 .. 2026. 1. 5. [GPU] Multi Instance GPU(MIG)로 분산 학습(DDP) 설정 이렇게 nvidia-smi -L 명령어를 터미널에 입력했을때,nvidia-smi -L GPU 아래로 MIG가 따로 뜨는 걸 볼 수 있다.이건 GPU를 가상화하여 사용하는 것인데, 하나의 GPU를 쪼개서 사용하는 것이다.이 기능이 활성화 되어있는 경우에는, nvidia-smi 를 했을때 맨 오른쪽에 MIG M. (MIG 모드)가 Enabled 로 떠있을 것이다. 이런 각각의 MIG 인스턴스를 cuda가 인식하게 하려면,CUDA_VISIBLE_DEVICES에 4개의 UUID를 콤마로 연결해서 적어주어야한다.export CUDA_VISIBLE_DEVICES=MIG-UUID-1,MIG-UUID-2,MIG-UUID-3,MIG-UUID-4이후에는 torch.cuda.device_count()를 통해 4개가 인식.. 2025. 12. 30. 이전 1 다음