본문 바로가기

IT/Cuda

(13)
[CUDA] version 설치해야할 것 1. pytorch 2. cuda 3. cudnn 4. nvidia driver 5. anaconda 파이토치 설치를 위한 CUDA + cuDNN 설치(cuda toolkit 11.3.0, cudnn v8.2.0) 내 소감 : 지난 몇달간 텐서플로우로 논문구현을 하려고 얼마나 애를 썼는지 모른다. 텐서플로우로 논문을 구현하려면, cuda 와 cudnn 모두 설치해줘야 했다. 한동안 열심히 여러차례 시도해봤지만 leonam.tistory.com 현재 상태 1. pytorch 1.12.0 2. cuda 11.7.0 anaconda => cuda toolkit 11.3 3. cudnn
[CUDA] NVIDIA-SMI 확인방법 및 활용하기 nvidia-smi 옵션 사용법 nvidia gpu를 사용하기 위해서는 nvidia에서 제공하는 GPU Driver를 각각의 os에 맞게 설치해야 한다. 드라이버 설치에 성공하고 가장 먼저 사용하는 명령어는 nvidia-smi이다. 하지만 보통 사람들은 nvidia-smi를 GPU가 제대로 올라오는지 확인 차원에서만 사용하지만, 다른 차원에서는 nvidia smi 명령어는 현재 GPU의 모든 상태를 monitoring 해주고 있다. 그렇다면 nvidia-smi의 화면을 보면서 하나씩 간단하게 설명하도록 하겠다. # nvidia-smi 위 그림처럼 nvidia-smi 명령어는 많은 내용을 담고 있다. 아래에서 자세히 한번 확인 해보도록 하겠다. 1. Driver Version 현재 설치되어 있는 nvidi..
[CUDA] NVIDIA PyTorch Container Versions pytorch 1.8버전이라면 최소 11.1 이상 버전을 깔아야 한다... PyTorch Release Notes :: NVIDIA Deep Learning Frameworks Documentation The NVIDIA container image for PyTorch, release 20.12, is available on NGC. Driver Requirements Release 20.12 is based on NVIDIA CUDA 11.1.1, which requires NVIDIA Driver release 455 or later. However, if you are running on Tesla (for example, T4 or any ot docs.nvidia.com
[CUDA] CUDA 설치해도 nvcc --version 안되는 경우 (Command 'nvcc' not found error) 리눅스에서 설치된 CUDA version을 확인하는 명령어는 다음과 같습니다. ​ nvcc --version ​ 하지만, 가끔 다음과 같이 CUDA를 설치했음에도 다음과 같은 에러가 발생하기도 합니다. ​ ​ 이럴 때는 환경변수 부분을 살펴보면 됩니다. ​ 사용자 별명을 관리하는 '~/.bashrc' 파일을 nano, gedit 등 편집기를 통해 키고 하단에 다음 두 줄을 입력합니다. ​ export PATH=/usr/local/cuda-11.2/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:$LD_LIBRARY_PATH ​ 기본 경로 환경변수인 PATH와 LD_LIBRARY_PATH가 설정되어야 합니다. ​ 이때, 실제 CUDA 버전과 CUD..
[CUDA] nvdia driver, CUDA, CUDNN 설치 여부 및 버전 검사 1. Nvidia Driver 설치 여부 및 버전 확인 $ cat /proc/driver/nvidia/version → 정상적으로 설치되어 있는 경우 아래와 같이 출력된다. NVRM version: NVIDIA UNIX x86_64 Kernel Module 430.34 Wed Jun 26 12:19:48 CDT 2019 GCC version: gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1) 이외 nvidia-smi를 이용해서 확인하는 방법도 있다. (이것을 더 추천한다.) $ nvidia-smi 2. CUDA $ nvcc --version → 정상적으로 설치되어 있는 경우 아래와 같이 출력된다. nvcc: NVIDIA (R) Cuda compiler driver ..
[CUDA] Thread, Block(SM), Grid(GPU) CUDA를 게임 프로젝트에 적용하기 CUDA를 게임 프로젝트에 적용하기 유영천-모여서 각자 코딩하는 모임 https://megayuchi.com tw: @dgtman www.slideshare.net
[CUDA] 프로세서 CUDA Thread Hierachy와 CUDA Processor간의 관계 CUDA Processor와 CUDA의 논리적인 구조는 다음과 같은 상관 관계가 있습니다. CUDA Architecture CUDA Logical Architecture CUDA Processor CUDA Kernel/Grid CUDA Multi-Processor 복수의 CUDA Block CUDA Core CUDA Thread CUDA Thread Index 구성 CUDA Kernel을 개발하실때 주지해야 하는 사항은, 여러분이 짜는 CUDA 코드는 병렬적으로 처리되는 코드이지만, CUDA Thread 입장에서는 오직 하나의 Thread만이 동작하는 코드입니다. 따라서 CUDA Thread는 고유의 Index를 갖고 있으며, 이..
[CUDA] 프로그래밍 시작 CUDA 메모리를 할당하고 해제한다. CUDA 메모리에 데이터를 복사해야 한다. CPU에서 For 문제 의해 했던 것을 cuda thread 수로 계산을 해야한다. CUDA에서는 __global__이라는 키워드가 붙은 함수로 CUDA 연산을 구동시킨다. GPU는 CPU와는 별도의 메모리 구조를 갖고 있고, 따라서 별개의 메모리를 사용합니다. 주소 공간을 분할해서 쓰는 것이 아니라 아예 다른 메모리입니다. 그래픽 카드를 살때 보면 옆에 1GB, 2GB.. 등으로 메모리 용량을 표시하는데 그 메모리를 사용하는 것입니다.
[CUDA] 프로그래밍 모델( kernel, thread ) ​ 1. Kernel CUDA에서는 kernel이라 불리는 함수를 정의할 수 있습니다. 일반 C 함수와 kernel의 차이점은 호출시 N개의 CUDA 쓰레드에서 병렬로 실행된다는 것입니다. kernel은 __global__이라는 specifier와 호출 시 실행될 횟수를 정의하는 execution configuration syntax로 정의 됩니다. 각 kernel을 실행하는 쓰레드는 고유한 thread ID를 가지며 threadIdx라는 built-in로 접근할 수 있습니다. ​ 다음 코드는 N개의 A와 B 백터를 더하는 샘플 코드입니다. 여기서 N개의 쓰레드가 VecAdd를 실행하여 각각 한번씩 더하기를 실행하게 됩니다. 전체 코드는 CUDA sample의 vectorAdd에서 볼 수 있습니다. 2...
[CUDA] Visual Studio 프로젝트 만들기 1. Host와 Device CUDA에서 Host는 CPU, Device는 GPU를 의미합니다. CUDA에서 "C++, Python등 일반적으로 사용하는 프로그래밍 코드로 작성된 프로그램은 Host에서 실행된다" 라고 표현합니다. 2.1 kernel CUDA에서 __global__이라는 키워드는 아래와 같은 함수를 의미합니다. · Device(GPU)에서 실행됩니다. · Host(CPU)에서 호출가능합니다. 위와 같이 __global__키워드가 붙는 함수를 CUDA에서는 커널(kernel)이라 부릅니다. ​ 2.2 kernel 실행 kernel은 일반 C 함수와 달리 N개의 쓰레드에서 병렬로 실행될 수 있습니다. 이러한 기능은 라는 문법을 통해 정의 됩니다. 위의 예제에서 은 1개의 CUDA thread..
CUDA 설치 windowx86_64 NVIDIA CUDA Window에 설치하기(병렬처리, 엔비디아 쿠다 설치) 이번에는 NVIDIA GPU를 이용하여 병렬 처리를 지원하는 CUDA를 윈도우에 설치해보도록 할게요. CUDA의 경우 NVIDIA GPU(그래픽 카드)를 이용하기 때문에 하드웨어 지원이 필요하기 때문에 현재 사용 중�� ghostweb.tistory.com
CUDA GPU 환경 제공하는지 확인 기본적으로 CUDA가 엔비디아nVidia사에서 만든 플랫폼이므로 엔비디아의 지포스 제품이면 일단 가능성은 있지 않을까 생각해 볼 수 있을 것 같습니다. 그리고 GTX 붙으면 일단 된다고 보시면 될 것 같습니다. 요기로 가시면 CUDA가 가능한 GPU인지 확인해 보실 수 있습니다. https://developer.nvidia.com/cuda-gpus CUDA GPUs Recommended GPU for Developers NVIDIA TITAN RTX NVIDIA TITAN RTX is built for data science, AI research, content creation and general GPU development. Built on the Turing architecture, it feat..
CUDA란 CUDA ("Compute Unified Device Architecture"),는 그래픽 처리장치(GPU)에서 수행하는 알고리즘을 코딩하는데 있어서 C 프로그래밍 언어를 사용할 수 있도록 하는 GPGPU 기술이다. CUDA는 엔비디아(Nvidia)에 의해서 개발되어져왔고 이 아키텍쳐의 사용하기위해선 Nvidia GPU와 특별한 스트림 처리 드라이버가 필요하다. CUDA는 G8X GPUs로 구성된 GeForce 8시리즈에서 동작할 수 있다.; Nvidia는 GeForce 8 시리즈상에 작성된 프로그램은 앞으로 개발될 Ncidia 비디오 카드에서도 프로그램 수정없이 작동할 것이라고 선언했다. CUDA는 CUDA GPUs 안의 명령셋과 대용량 병렬처리 메모리를 접근할 수 있도록 해준다. 최초의 CUDA SD..