cs TIL : python 병렬처리 라이브러리 Ray 사용하기
본문 바로가기
  • 매일 한걸음씩
  • 매일 한걸음씩
개발/TIL

TIL : python 병렬처리 라이브러리 Ray 사용하기

by 시몬쯔 2021. 1. 29.
728x90
반응형

 

26만개의 데이터를 처리해야하다 보니 serial python으로는 9시간이 족히 걸리는 작업을 해야했다.

이에 multiprocess를 쓰려다가 검색을 하다 발견한 Ray 라는 라이브러리! uc버클리에서 만든 것으로 특정 조건에서 multiprocessing보다 9배, 싱글쓰레드보다 28배가 빠르다고 한다.!!!!

 

https://zzsza.github.io/mlops/2021/01/03/python-ray/

 

Python Ray 사용법 - Python 병렬처리, 분산처리

파이썬 병렬처리를 위한 Python Ray 사용법에 대한 글입니다 키워드 : Python Ray for multiprocessing, Python Parallel, Distributed Computing, Python Ray Core, Python Ray for loop, Python ray example 해당 글은 병렬처리에 초점

zzsza.github.io

 

pip install ray

로 간단하게 설치하고 사용해보았다.

 

 

import ray

 

사용하고자 하는 함수 위에 @ray.remote라는 데코레이터를 써주고, 사용할 때는 함수 뒤에 .remote를 써주면 된다.

 

함수를 remote해서 얻은 object ID를 ray.get에 넣어주면 끝!!

 

 

만약 ray를 shutdown하지 않고 다시 ray.init()을 해준다면 아래와 같은 에러가 난다.

 

사용해보니 거의 2배정도 빠르게 작동한다. 더 데이터가 많거나 코어가 많은 상황에서 월등하게 빠른 듯 하다.

728x90
반응형

댓글