# gpu

Pytorch에서 memory사용 Guide
 DNN 학습 step별 memory 사용 상태 steps model loading forward pass backward ass optimizer step run next it
transform & animation 으로 복잡한 애니메이션 만들어보기
transform 관련 CSS 속성들 transform 은 어떤 요소를 독립적으로 움직이게 만들고 싶을 때 사용한다. 본인 원래 위치에서 자유롭게 (다른 요소에 영향 없이) 이동하게 된다. rotate는 회전, translate는 좌표이동, scale은 확대축소, skew는 비틀기 > 복잡한 애니메이션 구현법 이전 정리 버전에서는 간단한 a -> b 애니메이션들은 시작스타일, 최종스타일, 트리거, transition 주면 된다고 했다. 근데 a -> b -> a, a -> 1초정지 -> b 같은 복잡한건 못하는데 @keyframes를 쓰면 가능하다. 1. 가장 먼저 @keyframes 를 정의하기 @keyframes는 커스텀 애니메이션을 정의하기 위한 공간이라고 생각하면 된다. '움찔움찔'이라는 애니메이션을 0% 진행했을 때 CSS, 50% 진행했을 때 CSS, 100% 진행했을 때 CSS를 각각 작성한
GPU 사용 환경 설정 with CUDA, cuDNN
Deep Learning 학습을 위한 GPU 환경 설정 과정 1. GPU 모델 확인 GPU 모델에 따라 설치해야하는 CUDA와 cuDNN 버전이 다름 * → GPU 확인 부터 시작!!* PC 환경을 확인하고 설치해야 호환성 문제 발생하지 않음 RTX 4070 Ti 2. NVIDIA 그래픽 드라이버 설치 NVIDIA 그래픽 드라이버 설치 드라이버는 GPU에 맞는 것 검색 후 설치 설치 완료는 nvidia-smi로 확인 가능 3. compute capability 확인 [compute capability](https://www.wiki

Fabric Manager Issue
Issue 잘 작동하던 Training Code가 작동하지 않았는데, 아래와 같은 에러메시지를 확인했다. 환경 설정 문제라고 생각했으나, 본 이슈는 fabricmanager가 작동하지 않고 있는 것이 문제였다. Solution 먼저 아래 코드로 fabricmanager가 작동하는지 확인한다. 만약 결과값이 inactive가 나온다면, fabricmanager를 다시 실행시킨다. Reference https://stackoverflow.com/questions/66371130/cuda-initialization-unexpected-error-from-cudagetdevicecount

k8s triton inference server 클러스터 구축
ec2 쿠버네티스 클러스터 구축 포스팅에 이어 클러스터의 worker 노드에 nvidia gpu를 할당하는 내용을 다뤄보려고한다. gpu 할당 NVIDIA Container Toolkit과 k8s용 nvidia 장치 플러그인을 설치해야한다. 컨테이너에서 gpu를 사용하는 경우 호스트에서 자원을 마운트해야하는데, NVIDIA Container Toolkit은 이를 자동으로 해준다. 기본적으로 호스트에 nvidia 드라이버가 설치되어 있어야 하는데, 본 포스팅에서 사용하는 ec2 인스턴스의 AMI에는 위 드라이버가 모두 설치되어있다. 직접 호스트의 nvidia 드라이버를 설치할 필요는 없고, 바로 환경을 구성하면 된

Window에서 PyTorch 설치 및 GPU 사용
가상환경에 PyTorch 설치 가상환경 만들기(생략가능) > 💡가상환경을 만드는 이유 가상환경을 만들면 가상환경마다 독립적인 환경을 만들어 작업을 진행할 수 있다. 한 환경에서만 여러 프로젝트를 진행하다보면 여러 라이브러리와 패키지를 사용하게 되는데 각 라이브러리 혹은 패키지끼리 충돌하거나, 특정 버전의 라이브러리만 호환이 가능한 경우가 있어 삭제와 재설치를 해야하는 경우가 발생할 수 있다. 가상환경 안에 필요한 라이브러리 및 패키지만 설치하여 사용하면 앞서 말한 상황을 방지할 수 있다. 가상환경 생성 및 삭제 PyTorch 설치 아래 링크에서 각 컴퓨터 환경과 CUDA 버전을 선택하면 그에 해당하는
Window에서 Tensorflow 설치 및 GPU 사용
가상환경에 tensorflow 설치 가상환경 만들기(생략가능) tensorflow를 설치하기 전에 가상환경을 만들어 만든 가상환경 안에 tensorflow를 설치하고자 한다. 본인은 설치할 tensorflow 버전에 맞춰 가상환경을 python 3.8로 설정하였다. > 💡가상환경을 만드는 이유 가상환경을 만들면 가상환경마다 독립적인 환경을 만들어 작업을 진행할 수 있다. 한 환경에서만 여러 프로젝트를 진행하다보면 여러 라이브러리와 패키지를 사용하게 되는데 각 라이브러리 혹은 패키지끼리 충돌하거나, 특정 버전의 라이브러리만 호환이 가능한 경우가 있어 삭제와 재설치를 해야하는 경우가 발생할 수 있다. 가상환경 안에 필요한 라이브러리 및 패키지만 설치하여 사용하면 앞서 말한 상황을 방지할 수 있다. [가상환경 생성 및 삭제](https://velog.io/@ksy5098/conda%EC%97%90%EC%84%9C-%EA%B0%80%E

(설치 전) GPU, CUDA, cuDNN 버전 확인
더 빠른 실습 환경을 구축하기 위해 CUDA, cuDNN를 설치하여 GPU 환경을 설정할 수 있다. 본인이 여러 사이트를 찾아보며 설치하고 실행했던 과정을 정리해보았다. > 기준환경 Window 11 NIVIDA GeForce RTX 4070 Ti 1. CUDA Compute Capability cuda 설치 전 cuda compute capability 확인하기 https://www.wikiwand.com/en/CUDA#/GPUs_supported 위 사이트에서 자신의 GPU에 해당하는 Compute capability를 찾고 Compute capability에 맞는 CUDA 버전을 찾을 수 있다. 
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running. 나 캐나다 다녀오기 전까지만 해도 우리 좋았잖아... 내가 4090 설치방법 글도 썼잖아... 에러 NVIDIA 드라이버와 통신할 수 없어 NVIDIA-SMI가 실패했습니다. 최신 NVIDIA 드라이버가 설치되어 실행 중인지 확인하세요. from deepl.com 그니까... 드라이버도 인식 되고 설치도 했지만... 둘이 소통이 안 된단다... 에러 보면 최신 nvidia 드라이버를 설치해달라고 하니... 일단 내가 설치했던 드라이버 버전부터 확인해야겠다. nvidia-driver 이전에 설치한 드라이버는 525인 것 같고 
CUDA programming, convolution 예제
GPU 컴퓨팅 수업을 수강하며 기본적인 GPU의 구조에 대한 이해와 GPU에 특화된 프로그래밍 언어인 CUDA를 어떻게 작성하는지, 이는 어떤 식으로 GPU 연산에 최적화되어 있는지 등을 배웠다. GPU의 구조 복잡한 연산을 빠르게 수행하기 위한 연산 유닛 구조를 가지고 있는 CPU와는 다르게, GPU는 단순하지만 방대한 양의 연산을 병렬적으로 수행하기 위한 구조를 가지고 있다. GPU는 물리적으로 수백에서 수천 개의 processor를 가지고 있으며, 각 processor 내에는 서로 다른 목적의 연산을 수행할 수 있는 FPU, ALU, LSU가 포함되어 있다. 따라서 각 processor는 동시다발적으로 연관성 없는 병렬적인 연산을 수행할 수 있는데, 이것이 GPU가 가지고 있는 가장 큰 특징이다. 논리적으로 앞서 언급한 SP(Streaming Processor)가 8개 모이면 SM(Streaming Multiprocessor)을 이룬다. 각 SM은 이루고 있는 S
Tensorflow, Pytorch GPU 설정
포스트 작성 이유 첫 번째 글에서 CUDA와 cuDNN을 설치했다. CUDA 설정을 완료했기 때문에 pytorch를 로컬에서 사용할 수 있다. 이 코드의 실행 결과는 True가 나온다. 하지만 tensorflow에서 gpu를 사용하기 위해서는 다른 설정이 필요하다. tensorflow-gpu를 설치하지 않은 상태에서는 위 코드의 실행 결과의 device type은 CPU만 존재하고 빈 list를 출력할 것이다. 0. Tensorflow와 호환되는 CUDA, cuDNN 버전 확인 tensorflow-gpu를 사용하기 위해서는 추가로 아래의 사이트에서 tensorflow-gpu 버전에 맞는 cuDNN과 CUDA를 설치해야 한다. https://www.tensorflow.org/install/source_windows?hl=ko#gpu 지난 글에서 설치한 CUDA와 cuDNN 버전은 다음과 같다. > CUDA: 12.2 > cuDNN: 8.9.2 tensorflo

Containerd 로 GPU Kubernetes 클러스터 구축하기
Nvidia GPU Driver 설치 1. nvidia gpu driver 버전 확인을 위한 패키지 설치 sudo apt-get install -y ubuntu-drivers-common 2. gpu driver 버전 확인 ubuntu-drivers devices 커맨드 결과로 나온 것들 중 recommended 라고 나온 왼쪽의 버전 확인 3. gpu driver 설치 4. 설치 확인 아래 커맨드를 통해 정상적으로 GPU 리스트가 출력되는지 확인 Containerd 설치 1. docker apt 레포지토리 등록을 위해 필요한 패키지 설치 2. docker apt 레포지토리 등록 3. Containerd 설치 4. Containerd 설정

[tensorflow] GPU 딥러닝 환경 구축하기
1. Anaconda 설치 우선 아래 링크에서 Anaconda를 설치해주세요. 혹시 모를 충돌이 있을 수 있으니 파이썬을 설치해놓은 상태라면 삭제 후에 설치해 주세요. https://www.anaconda.com/ > 파이썬 아나콘다(Anaconda)는 데이터 분석, 데이터 과학 등에 필요한 여러 패키지를 포함한 파이썬 배포판입니다. 아나콘다 배포판은 파이썬 인터프리터와 함께 NumPy, Pandas 등 데이터 분석에 유용한 라이브러리를 포함합니다. 또한, Jupyter Notebook이라는 대화형 웹 기반 노트북 인터페이스를 제공하여, 데이터 분석에 필요한 코드, 그래프, 설명 등을 하나의 문서에 체계적으로 정리하고 공유할 수 있습니다. 2. NVIDIA 드라이버 설치 https://www.nvidia.co.kr/Download/index.aspx?lang=kr 본인 그래픽카드 사양에 맞는 드라이버를 설치해야 합니다. **그래픽카드 사양 확인하기 (윈

[Python] tensorflow 프레임워크 GPU 인식 확인
이 포스트를 작성하는 지금을 기준으로, 작성중이다가 임시 저장해놓은 포스트만 계속 쌓이는 중이다. 그래서 우선 빠르게 작성할만한 주제는 생각날때마다 뚝딱 올리기로 했다.. Tensorflow GPU 인식 확인하기 여러 방법이 있지만 그 중 내가 주로 사용하는 방법들이다. 1. tf.config.listphysicaldevices GPU가 잘 인식이 된다면 사용 가능한 GPU 디바이스 목록이 리스트로 표시된다. 출력 예시) 2. devicelib.listlocal_devices() 정상 인식 시 출력 예시) 3.tf.test.isbuiltwith_cuda 정상 인식 출력 예시)
CUDA_VISIBLE_DEVICES 활용하여 GPU 선택하기
GPU 선택하기 기존이 이걸 알기 전에는 코드 레벨에서 직접 GPU를 선택할 수 있도록 수정하여 사용했다. 하지만 이는 많은 시간과 여러가지 변수를 고려해야했다. CUDAVISIBLEDEVICES를 활용하여 환경변수를 설정함으로써 해당 파일이 실행 될 때 활성화하는 GPU 번호를 선택할 수 있어 별다른 수정없이 특정 GPU에서 학습이 가능하다. 예제 실행 시 사용하는 방법 코드 내에서 추가하는 방법 위 코드를 코드 맨 위에 추가한다. 를 하는 이유는 를 실행했을 때 나오는 GPU 인덱스와 동일하게 정렬해주기 위해서다.

[PyTorch] 💻 맥북 에어 M1칩에서 GPU 사용하기(MPS 장치 활용) for 머신러닝 학습
🌙 개요 작년 초에 Pytorch를 이용해 딥러닝 모델을 학습시킬 때 겪었던 문제가 있었다. 필자는 macOS intel칩 데스크톱과 macOS m1칩 맥북 에어 유저였는데, 엔비디아에서 macOS에 대한 cuda지원을 중단해서, GPU를 사용할 수 없었다. 엔비디아 그래픽 카드가 탑재된 컴퓨터나 노트북이 아니면 GPU 사용이 어려웠던 것이다. 2022년 7월 초 Pytorch 깃헙에서 Pytorch 1.12를 릴리즈 함에 따라 애플 실리콘(M1, M2) 칩이 탑재된 맥북에서 GPU 사용이 가능해졌다 !! 방법은 MPS 장치를 사용하여 GPU를 가속하는 것이다. MPS 가속은 맥 OS 12.3 이상에서 지원되기 때문에 _**" 몬터레이 1
Today's Answer 01
1. Webkit을 브라우저 작동 원리를 공부하다 알게 되었는데 이는 브라우저 엔진이다. 아래와 같은 코드를 원리도 모르고 사용했었다. 브라우저별 그 브라우저 엔진을 사용하는 이유는 뭘까? 그리고 이 코드를 통해 어떤 효과를 얻을 수 있을까? 크로스 브라우징과 관련 있을 듯 브라우저 엔진의 정의와 종류, 역할 우선 브라우저 엔진은 렌더링 엔진, 레이아웃 엔진으로도 불린다. 렌더링 엔진의 역할은 요청 받은 내용을 브라우저 화면에 표시하는 일. 보통 자신의 브라우저에서 사용할 엔진을 자체적으로 개발하거나, 기존에 개발된 엔진을 포크시켜 개발하여 사용한다. 오페라 브라우저에서 사용하는 Presto(프레스토), KHTML엔진에서 *fork하여 애플에서 개발한 웹키트(Webkit)는 사파리와 구글 크롬이 사용중인데 애플과 구글은 엔진을 서로 fork 하면서 파편화가 진행되었습니다. 애플은
Today's Question 01
Webkit을 브라우저 작동 원리를 공부하다 알게 되었는데 이는 브라우저 엔진이다. 아래와 같은 코드를 원리도 모르고 사용했었다. 브라우저별 그 브라우저 엔진을 사용하는 이유는 뭘까? 그리고 이 코드를 통해 어떤 효과를 얻을 수 있을까? 크로스 브라우징과 관련 있을 듯 실무에서 JQuery를 사용했었다. 개발자들은 JQuery를 쓰는 것에 회의적이다. 안쓰는 이유는 뭘까? 그리고 바닐라 JS와 순수 자바스크립트를 쓰는 이유? 다른 점? Repaint, Reflow 최소화를 위해 CPU가 처리할 부분을 GPU로 넘기기 위해 width 등의 속성대신 transform이랑 opacity를 사용한다는 부분을 알게되었는데 CPU 사용과 GPU 사용의 정확한 구조와 차이가 궁금하고, 그리고 transform이랑 opacity 말고도 gpu를 사용할 수 있는 css 속성이 있을까? HTML을 파싱할 때와 CSS를 파싱할 때 공식 작성 명세의 차이가 있었다. HTML
GRAID SupremeRAID SR-1010 RAID-5 BMT (PM1733a 3.84TB * 12EA) (Eng)
Introduction This article is a translation of the BMT results written on 2cpu.co.kr. BMT was conducted using Glusys' demo equipment, and aimed to accumulate back data for review. I write this post for future unbiased reviews and to provide raw data will not used in the review. DUT (Device Under Test) Server Platform: Supermicro SYS-220U-TNR (X12DPU-6, Intel IceLake Platform) CPU: Intel Xeon Siver 4310@2.7Ghz Dual RAM: Samsung DDR4-3200 16GB * 16EA (