CUDA - GPGPU w/ Jupyter Keywords

1 minute read

  • GPGPU: General-Purpose computing on Graphics Processing Units
  • GDF: GPU Data Frame
  • Memory Bandwidth: the amount of information that can be transferred to and from memory per unit time
  • Data Lake: a centralized repository that allows you to store all your structured and unstructured data at any scale
  • ETL: Extract, Transform, Load
  • GGFLOPS: GPU FLoating point Operations Per Seconds(초 당 부동 소수점 연산량)
  • SIMD: Single Instruction Multiple Data 하나의 명령어로 여러개의 값을 동시에 계산하는 방식

Installation

RAPIDS: https://rapids.ai/start.html

CUDA: https://developer.nvidia.com/cuda-downloads

Environment

conda

# create
conda create -n rapids-21.10 -c rapidsai -c nvidia -c conda-forge \
    blazingsql=21.10 cudf=21.10 python=3.8 cudatoolkit=11.0

# install (add package)
conda install -c rapidsai -c nvidia -c numba -c conda-forge \
    cudf=21.08 python=3.7 cudatoolkit=11.0

# conda installation / version check
conda list cudf
  1. 가상환경 활성화
$ conda activate <env-name>
  1. 가상 환경 확인
$ conda info --envs
  1. kernel 연결 확인: jupyter kernelspec list
$ jupyter kenrelspec list
  1. kernel 등록
$ python -m ipykernel install --user --name <env-name> --display-name <display-name-jupyter>
  1. kernel 삭제
$ jupyter kernelspec uninstall <env-name>

jupyter

Running a public notebook server

  • 반드시 새로운 가상 환경 (rapids-21.10)에서 jupyter notebook을 새로 돌려야함. 그렇지 않으면 내부에서 ‘CONDA_PREFIX’ 변수가 제대로 안 잡히는 상황 발생.

jupyter_notebook_config.py 생성

$ jupyter notebook --generate-config

아래 코드 추가.


# jupyter_notebook_config.py
c = get_config()
#c.NotebookApp.password = 'gn2:$argon2id$v=19$m=10240,t=10,p=8$ZnJId2XRj7GRy+0uvDx6dQ$W8kkp6vRe5k60hDui64fwg'
c.NotebookApp.open_browser = False
c.NotebookApp.notebook_dir = '/data'
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.port_retries = 8888
  • 주의 할 것 kernel은 열고자하는 python의 종류를 다르게 한다고 생각하면 된다. 즉 sys.argv[0] 값이 달라진다! 매우 주의가 필요하다. 이 값으로 받아서 인스톨을 한다던가 처리하는 패키지들이 많기 때문. 헷갈릴 수 있는데, 같은 주피터 환경의 다른 커널에서 똑같이 !which python으로 커맨드 명령을 날리면 똑같은 python 경로가 나와버린다. 즉, 서로 다른 커널 안에서 CLI 명령어로 pip install을 하면 같은 ‘주피터’ 환경 안의 pip로 설치하게 되는 것이며, 실제 커널 자체는 다른 파이썬이다.