Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Rapids cudf #174

Closed
2 of 3 tasks
tebeka opened this issue Jan 14, 2019 · 12 comments
Closed
2 of 3 tasks

Support Rapids cudf #174

tebeka opened this issue Jan 14, 2019 · 12 comments
Assignees

Comments

@tebeka
Copy link
Contributor

tebeka commented Jan 14, 2019

We'd like to support using Rapids cudf in frames.
Both on read and write.

Support

  • Categoracial data
  • strings (see here)
  • Read/write
  • Run on Iguazio platform
@tebeka tebeka added the python label Jan 14, 2019
@tebeka tebeka self-assigned this Jan 14, 2019
@tebeka
Copy link
Contributor Author

tebeka commented Jan 14, 2019

After some try & error here's how I got a working cudf environment:

  • Started Nvidia GPU Clould Image on GCE
  • On the image docker run --runtime=nvidia --rm -it rapidsai/rapidsai:cuda9.2_ubuntu16.04 (base on this)
  • In the docker shell: source activate rapids

@tebeka
Copy link
Contributor Author

tebeka commented Jan 14, 2019

The idea is to add a frame_factory attribute to Python clients (idea from here and many other database drivers in Python).

By default frame_factory will pandas.DataFrame

@tebeka
Copy link
Contributor Author

tebeka commented Jan 14, 2019

@yaronha said he perfers EC2 image.

@tebeka
Copy link
Contributor Author

tebeka commented Jan 14, 2019

Quick try with EC2 nvidia image didn't go well. Going back to GCE and once the code works I'll work with @bivas to run it hosted

@tebeka
Copy link
Contributor Author

tebeka commented Jan 14, 2019

rapids docker has an old version of pandas. Upgraded from 0.20.3 to 0.23.4 since pd.concat didn't have sort

@tebeka
Copy link
Contributor Author

tebeka commented Jan 14, 2019

After updating pandas, had to add /conda/pkgs/nvstrings-0.0.3-cuda9.2_py35_18/lib/ to LD_LIBRARY_PATH

@tebeka
Copy link
Contributor Author

tebeka commented Jan 14, 2019

See #175

@tebeka
Copy link
Contributor Author

tebeka commented Jan 15, 2019

Managed to run on EC2 with NVIDIA Volta Deep Learning AMI 18.11 AMI

@tebeka
Copy link
Contributor Author

tebeka commented Jan 15, 2019

Install document here, see also this issue.

@tebeka
Copy link
Contributor Author

tebeka commented Jan 27, 2019

cudf 0.4.0 is out. Trying to see if it work with frames I can't get a working environment:

I'm working on "NVIDIA Volta Deep Learning AMI 18.11 AMI", and reading https://rapids.ai/documentation.html

  • When trying to install with conda. I get a librmm error and after conda installing cudatoolkit=9.2 I get: 'libcudf.so': /home/ubuntu/miniconda3/lib/python3.6/site-packages/../../libcudf.so: undefined symbol: _ZN9NVStrings17create_from_indexEPSt4pairIPKcmEjb
  • Then trying to use the rapids docker. The cudf version there is "'0+unknown'", when trying to conda install cudf=0.4.0 in the container I get permission denied. I can't upgrade pandas as well.

Asked help from Yuval Mazor [email protected] (NVIDIA Israel)

@tebeka
Copy link
Contributor Author

tebeka commented Feb 6, 2019

cudf 0.5.0 is out. I'm able to run it on "NVIDIA Volta Deep Learning AMI 18.11 AMI" with miniconda:

$ curl -LO https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
$ bash Miniconda3-latest-Linux-x86_64.sh -b
$ export PATH=${HOME}/miniconda3/bin:${PATH}
$ conda install -c nvidia -c rapidsai -c pytorch -c numba -c conda-forge -c defaults cudf=0.5 cuml=0.5 python=3.6
$ conda install cudatoolkit=9.2

@tebeka
Copy link
Contributor Author

tebeka commented Feb 17, 2019

Closing this one, opening #196 and #197

@tebeka tebeka closed this as completed Feb 17, 2019
@tebeka tebeka added the cudf label Feb 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant