본문 바로가기
▶ Back-End/Server

GPU 작업 관리 예제 - 배포 및 결과 확인

by 오늘도 코딩 2025. 1. 21.
728x90
반응형

Redis 큐 기반 GPU 별 작업 할당 및 처리

*자세한 설명 생략

 

 

▷ 시스템 구성도

 

 

▷ Redis 설치 및 구동

*Docker에서 간단하게 설치해서 사용

# Redis Docker 이미지 다운로드
docker pull redis:7.0.11

# Redis 컨테이너 실행 (자동 재시작 설정)
docker run -d --name redis --restart unless-stopped -p 6379:6379 redis:7.0.11

 

 

▷ GMS-CORE 배포

*Ubuntu 22.03 사용

*Anaconda 설치 및 구동 환경 구축 포함

# 시스템 업데이트 및 curl 설치
sudo apt update
sudo apt install curl -y

# Anaconda 설치
curl --output anaconda.sh https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
source ~/.bashrc  # 변경된 환경 변수 적용

# Conda 설치 확인
conda -V

# GPU 환경을 위한 Conda 가상 환경 생성 및 활성화
conda create -n gpu python=3.12.2
conda activate gpu

# 필수 Python 패키지 설치
pip install torch==2.3.1+cu118 -f https://download.pytorch.org/whl/torch_stable.html
pip install colorlog==6.9.0 fastapi==0.115.5 fastapi-cli==0.0.5 redis==5.2.1 uvicorn==0.32.1 numpy==1.26.3

# GPU 사용 가능 여부 확인
python -c "import torch; print(torch.cuda.is_available())"

#
# 파일 이동 생략
#

# GMS-CORE 구동
uvicorn main:app --host 0.0.0.0 --port 9998

 

 

▷ GMS-WAS 배포

*.jar파일 실행 생략

 

 

▷ 결과 확인

*브라우저로 테스트 시 다수 요청 불가(서로 다른 브라우저 사용 또는 curl 사용) 

각각의 요청을 GPU 별 할당 및 처리 확인(GPU 2개, 3번째 요청은 큐에서 대기)

 

Swagger에서 고정된 이미지 반환 확인

 

 

▷ 관련 글 

 

GPU 작업 관리 예제 - GMS-CORE

Redis 큐 기반 GPU 별 작업 할당 및 처리*자세한 설명 생략  ▷ 시스템 구성도  ▷ 프로젝트 구조*순서대로 나열 ▷ const.py▷ redis_config.py▷ gpu_batch_service.py▷ gpu_service.py▷ logger.py▷ main.py  ▷ co

coding-today.tistory.com

 

GPU 작업 관리 예제 - GMS-WAS

Redis 큐 기반 GPU 별 작업 할당 및 처리*자세한 설명 생략  ▷ 시스템 구성도  ▷ 프로젝트 구조*필요한 부분만 필터링   *순서대로 나열 ▷ RedisConfig.java▷ TaskManager.java▷ IMG1000Controller.java▷ I

coding-today.tistory.com

 

Anaconda 란?

Python 기반의 환경구성을 쉽게 구성해 주는 Anaconda*자세한 설명 생략  ▷  Anaconda 란? - 데이터 분석, 인공지능, 머신러닝을 위한 Python 배포판 - 다양한 라이브러리와 도구가 포함되어 있어 환경

coding-today.tistory.com

 

 

728x90
728x90

댓글