AI/Data Science

GPU 서버 접속

물만난동그리 2023. 7. 8. 15:42
728x90

1. GPU(Graphics Processing Unit)

CPU보다 효율적인 코어로 구성되어 대규모 데이터를 병렬로 빠르게 처리할 수 있도록 최적화된 '컴퓨팅 자원'

CPU GPU
- 명령어가 입력되는 순서대로 데이터를 처리하는 직렬(순차) 처리방식에 특화된 구조
 - 각 Core 별 속도는 CPU가 훨씬 빠르다
- 재귀연산, 순차적 연산, 직렬 연산에서 더 효과적
수천 개의 코어로 이뤄져서 여러 명령어를 동시에 처리하는 병렬 처리방식 -> 쉽고 단순한 작업을 병렬적으로 대량 처리하는데 특화
- GPU: core 개수가 엄청 많음 (cpu; 8~16 ↔️ gpu; 몇 천 개 이상)
- 병렬 연산에서 훨씬 효과적

예전에는, 컴퓨터 연산 시 CPU & RAM에 의존함

CPU가 보유한 코어 개수만큼 Multi-Core를 이용하여 연산 수행

(pytorch나 tensorflow 에서, data loader 파트에서, core 갯수를 주고 데이터 loading 하는 부분이 여기에 속함)

1. GPU 서버

(대용량 연산에 장점을 가진) GPU를 활용한 '인프라'

 

2. GPU 클라우드

기존 문제 상황

- GPU를 직접 구매 또는 대여하여 서버를 구축하는 것은 큰 부담이 될 수 있음

- GPU 자원은 CPU와는 달리 여러 명의 사용자가 동시에 이용하기 위해서는 사전에 분배 및 할당 과정이 필요한데, 이를 관리하기 위한 소프트웨어의 개발 및 운영이 추가적으로 필요함.

 

GPU 클라우드를 통한 해결

-  여러 개의 GPU를 필요에 따라 구매하여 동시에 사용

- 고급 인프라를 구축할 필요 없이 GPU의 처리 능력을 기업과 개발자들이 편리하게 사용할 수 있게 됨

 

종류

- 구글 코랩

- Paperspace

- Jarvis Labs 등.

 

3. CUDA

:  NVIDIA에서 개발한 GPU 개발 툴 => 많은 양의 연산을 동시에 처리하는 것이 목표

- NVIDIA에서  많은 연구자들이 딥러닝에 사용할 수 있도록, 쉽게 설치할 수 있도록 오픈하였다.

- 현재는 nvidia-driver, CUDA, CUDNN만 설치하면 딥러닝을 쉽게 사용할 수 있다.

 


2. GPU 서버 접속

1. 서버란?: https://youtu.be/R0YJ-r-qLNE

 

2. ssh-key란?: SSH(Secure Shell)는 원격지 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜.

- 서버에 접속할때 비밀번호 대신 key를 제출하는 방식이다. 비밀번호보다 높은 수준의 보안요건을 필요로 할때 사용된다.

- 공개키(public key)와 비공개키(private key)로 이루어지는데 이 두개의 관계를 이해하는 것이 SSH Key를 이해하는데 핵심이다. 키를 생성하면 공개키와 비공개키가 만들어진다. 이 중에 비공개키는 로컬 머신에 위치해야 하고, 공개키는 리모트 머신에 위치해야 한다.(로컬 머신은 SSH Client, 원격 머신은 SSH Server가 설치된 컴퓨터를 의미한다) SSH 접속을 시도하면 SSH Client가 로컬 머신의 비공개키와 원격 머신의 비공개키를 비교해서 둘이 일치하는지를 확인한다.

 


 

 

 

인용

 

https://elice.io/newsroom/gpu_definition_and_exampless

 

GPU란 무엇일까? 개념부터 활용 예시까지!

많이 들어도 막연하기만 한 GPU란 무엇일까? CPU GPU 차이로 명확하게 개념 파악하고 GPU 서버 구체적인 활용 예시까지 알아보세요!

elice.io

https://kaen2891.tistory.com/20

 

CUDA (쿠다) 란, 왜 사용하는 것인가.

CUDA (Computed Unified Device Architecture)는 NVIDIA에서 개발한 GPU 개발 툴이다. 사실 CUDA는 c, c++기반으로 짜여진 완전 기초적 H/W 접근을 해야하는데, 많은 연구자들이 딥러닝에 사용할 수 있도록, 쉽게 설

kaen2891.tistory.com

https://velog.io/@hyeseong-dev/%EB%A6%AC%EB%88%85%EC%8A%A4-ssh%EB%9E%80

 

[리눅스] ssh란?

SSH는 무엇이고 어떻게 사용하며 어떤 부분이 편리한지에 대해 알아본다.SSH 에 대한 더 많은 정보는 링크를 참고하자.아래 내용은 macOS환경에 대해서만 다룬다. 일반적인 개발서버는 리눅스환경

velog.io

 

728x90