Bash vs Source
in Til on Til
- 셸 스크립트를 실행하는 데 사용
실행 환경
bash
- 새로운 서브셸을 생성하여 스크립트를 실행
- 스크립트 내에서 설정된 변수나 함수는 현재 셸 환경에 영향을 주지 않음 source
- 현재 셸 환경에서 직접 스크립트를 실행
- 스크립트에서 정의된 변수, 함수, 별칭 등이 현재 셸 세션에 즉시 적용
용도
bash
- 일반적인 스크립트 실행에 사용
- 스크립트의 독립적인 실행이 필요할 때 적합 source
- 환경 설정 파일(예: .bashrc)을 로드할 때 주로 사용
- 현재 셸 환경에 변경사항을 즉시 적용하고자 할 때 유용
변수와 함수의 지속성
- bash: 스크립트 실행이 완료되면 설정된 변수와 함수는 사라짐
- source: 스크립트에서 정의된 변수와 함수가 현재 셸 세션에서 계속 사용 가능
사용 예시
bash*# bash 사용* bash myscript.sh *# source 사용* source myscript.sh *# 또는* . myscript.shsource 명령어는 (점)으로도 사용할 수 있으며, 이는 본 셸(sh)에서 유래한 문법NVIDIA
1. NVIDIA 드라이버
- 역할: GPU 하드웨어와 운영체제 사이의 통신을 담당
- 필요성:
- GPU가 제대로 동작하려면 운영체제가 GPU의 작동 방식을 알아야
PyTorch는 GPU 연산을 위해 NVIDIA 드라이버를 통해 GPU와 통신합니다.
2. CUDA (Compute Unified Device Architecture)
- 역할: NVIDIA GPU에서 병렬 연산을 수행할 수 있는 프로그래밍 환경과 실행 엔진을 제공
- 필요성:
- PyTorch는 CUDA를 통해 GPU의 연산 자원을 사용하여 모델 학습 및 추론 속도를 크게 향상
CUDA는 GPU에서 데이터를 전송하고 병렬 처리를 실행하는 데 필요한 API를 제공
3. cuDNN (CUDA Deep Neural Network Library)
- 역할: 딥러닝 모델에서 사용하는 연산(예: 합성곱, 풀링 등)을 최적화하는 라이브러리
- 필요성:
- PyTorch는 딥러닝 모델의 연산을 수행할 때 cuDNN을 활용하여 속도를 극대화하고 메모리 사용을 효율화
cuDNN은 딥러닝 특화 연산의 성능을 높이기 위한 NVIDIA의 핵심 소프트웨어
간단한 비유
- NVIDIA 드라이버: GPU를 운영체제가 인식하고 사용할 수 있도록 연결하는 다리(운전면허).
- CUDA: GPU에서 작업을 실행하는 프로그램(자동차).
- cuDNN: 딥러닝 연산을 빠르고 효율적으로 처리하기 위한 고급 기술(스포츠카 엔진).