셋팅(4)
-
[PyTorch] DDP(Distributed Data Parallel) 셋팅하기
이번엔 Distributed 병렬 처리를 pytorch를 활용해 구현하는 방법에 대해 다뤄보고자 합니다.먼저 용어에 대해서 확실히 정리하고 나가자면 아래와 같습니다.Concurrent Computing (동시) : single 코어 혹은 multi 코어 에서 "동시에 처리되는 것으로 보이는 것"으로, hardware 구조로 인한 것이라기보다 software 구조로 인한 논리적 연산입니다. Parallel보다는 조금더 general한 개념입니다.Parallel Computing (병렬) : multi 코어에서 "동시에 처리되는 것"으로 hardware 구조에 의한 물리적 연산입니다.Distributed Computing (분산) : Link로 연결된 여러 개의 노드 혹은 프로세서에서 message pass..
2022.12.27 -
[AWS] SMDDP(Sagemaker's DDP) 기본 환경 셋팅
클라우드 컴퓨팅이란 인터넷으로 가상화된 IT 리소스(Server, Platform, Software)를 서비스로 제공하는 것을 의미합니다. AWS와 Azure가 대중화되면서 Cloud를 Infra-structure의 가상화 개념으로만 이해하기도 하지만 Infra 뿐 아니라 platform과 Software까지 포함하는 온라인의 모든 영역을 다루는 광범위한 개념이 클라우드 컴퓨팅입니다. 이를 제공하는 다양한 클라우드 서비스는 아래와 같이 세가지로 나뉩니다. 필자는 "IPS"로 외우게 되었습니다. Infrastructure as a Service(IaaS) : 물리적으로 서버,네트워크,OS,스토리지를 가상화하여 제공 ex) AWS(Amazon Web Service), Microsoft Azure, Googl..
2022.12.27 -
[Nvidia] GPU driver, CUDA, 라이브러리 셋팅하기
GPGPU(General Purpose GPU)의 등장으로, 기존 GPU(Graphics Processing Unit)의 그래픽처리를 위한 기능 이외에 딥러닝 등의 범용 연산을 위한 장치로 많은 '가능성'을 만들게 되었습니다. 우리가 GPU와 함께 할 수 있는 기능이 많아졌지만, 때로는 GPU의 driver, CUDA 등의 셋팅을 하기 위해 많은 노력을 기울이곤 합니다. 이번엔 GPU의 하드웨어와 소프트웨어의 버전을 구분하고 셋팅을 하기 위한 정보를 정리해보고자 합니다. GPU 셋팅과 더불어 아래 링크를 통해 GPU구조를 파악하실 수 있습니다. https://tkayyoo.tistory.com/31 1. 초기 셋팅하기 a. GPU의 분류 b. 구조를 통해 CUDA 버전 선택하기 c. CUDA를 통해 Dr..
2022.12.21 -
[Nvidia] Nsight System 셋팅
이번엔 학습한 네트워크가 CPU 및 Nvidia GPU에서 실행될 때 Profiling하기 위한 Tool 중 Nsight System을 소개하려고합니다. Nvidia에서 제공하는 Profiling Tool은 Nsight System, Nsight Compute, Nsight Graphics 그리고 TREx가 있습니다. Nsight System : 시스템 적으로 CPU, GPU간 이동 및 수행시간등을 Profiling하기 위한 툴. 보통 Memory bound ~ Computation Bound간의 최적화를 위해 사용합니다. Nsight Compute : CUDA kernel 내부를 자세하게 Profiling하기 위한 툴. 보통 네트워크 Layer별로 성능을 분석하고, 과하게 사용되고 있는 Memory R..
2022.12.21