{ "info": { "author": "NVIDIA Corporation", "author_email": "", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "#
 cuDF - GPU DataFrames
\n\n[![Build Status](http://18.191.94.64/buildStatus/icon?job=cudf-master)](http://18.191.94.64/job/cudf-master/)  [![Documentation Status](https://readthedocs.org/projects/cudf/badge/?version=latest)](https://cudf.readthedocs.io/en/latest/)\n\nThe [RAPIDS](https://rapids.ai) cuDF library is a GPU DataFrame manipulation library based on Apache Arrow that accelerates loading, filtering, and manipulation of data for model training data preparation. The RAPIDS GPU DataFrame provides a pandas-like API that will be familiar to data scientists, so they can now build GPU-accelerated workflows more easily.\n\n**NOTE:** For the latest stable [README.md](https://github.com/rapidsai/cudf/blob/master/README.md) ensure you are on the `master` branch.\n\n## Quick Start\n\nPlease see the [Demo Docker Repository](https://hub.docker.com/r/rapidsai/rapidsai/), choosing a tag based on the NVIDIA CUDA version you\u2019re running. This provides a ready to run Docker container with example notebooks and data, showcasing how you can utilize cuDF.\n\n## Install cuDF\n\n### Conda\n\nIt is easy to install cuDF using conda. You can get a minimal conda installation with [Miniconda](https://conda.io/miniconda.html) or get the full installation with [Anaconda](https://www.anaconda.com/download).\n\nInstall and update cuDF using the conda command:\n\n```bash\n# CUDA 9.2\nconda install -c nvidia -c rapidsai -c numba -c conda-forge -c defaults cudf\n\n# CUDA 10.0\nconda install -c nvidia/label/cuda10.0 -c rapidsai/label/cuda10.0 -c numba -c conda-forge -c defaults cudf\n```\n\nNote: This conda installation only applies to Linux and Python versions 3.6/3.7.\n\n### Pip\n\nIt is easy to install cuDF using pip. You must specify the CUDA version to ensure you install the right package.\n\n```bash\n# CUDA 9.2\npip install cudf-cuda92\n\n# CUDA 10.0.\npip install cudf-cuda100\n```\n\n## Development Setup\n\nThe following instructions are for developers and contributors to cuDF OSS development. These instructions are tested on Linux Ubuntu 16.04 & 18.04. Use these instructions to build cuDF from source and contribute to its development. Other operatings systems may be compatible, but are not currently tested.\n\n### Get libcudf Dependencies\n\nCompiler requirements:\n\n* `gcc` version 5.4+\n* `nvcc` version 9.2+\n* `cmake` version 3.12.4+\n\nCUDA/GPU requirements:\n\n* CUDA 9.2+\n* NVIDIA driver 396.44+\n* Pascal architecture or better\n\nPython requirements:\n\n* 3.6 or 3.7\n\nYou can obtain CUDA from [https://developer.nvidia.com/cuda-downloads](https://developer.nvidia.com/cuda-downloads)\n\nSince `cmake` will download and build Apache Arrow you may need to install Boost C++ (version 1.58+) before running\n`cmake`:\n\n```bash\n# Install Boost C++ for Ubuntu 16.04/18.04\n$ sudo apt-get install libboost-all-dev\n```\n\nor\n\n```bash\n# Install Boost C++ for Conda\n$ conda install -c conda-forge boost\n```\n\n## Script to build cuDF from source\n\n### Build from Source\n\nTo install cuDF from source, ensure the dependencies are met and follow the steps below:\n\n- Clone the repository and submodules\n```bash\nCUDF_HOME=$(pwd)/cudf\ngit clone https://github.com/rapidsai/cudf.git $CUDF_HOME\ncd $CUDF_HOME\ngit submodule update --init --remote --recursive\n```\n- Create the conda development environment `cudf_dev`\n```bash\n# create the conda environment (assuming in base `cudf` directory)\nconda env create --name cudf_dev --file conda/environments/cudf_dev_cuda9.2.yml # for CUDA 9.2\n# or\nconda env create --name cudf_dev --file conda/environments/cudf_dev_cuda10.0.yml # for CUDA 10.0\n# activate the environment\nsource activate cudf_dev\n```\n\n- Build and install `libcudf`. CMake depends on the `nvcc` executable being on your path or defined in `$CUDACXX`.\n```bash\n$ cd $CUDF_HOME/cpp # navigate to C/C++ CUDA source root directory\n$ mkdir build # make a build directory\n$ cd build # enter the build directory\n\n# CMake options:\n# -DCMAKE_INSTALL_PREFIX set to the install path for your libraries or $CONDA_PREFIX if you're using Anaconda, i.e. -DCMAKE_INSTALL_PREFIX=/install/path or -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX\n# -DCMAKE_CXX11_ABI set to ON or OFF depending on the ABI version you want, defaults to ON. When turned ON, ABI compability for C++11 is used. When OFF, pre-C++11 ABI compability is used.\n$ cmake .. -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DCMAKE_CXX11_ABI=ON # configure cmake ...\n\n$ make -j # compile the libraries librmm.so, libcudf.so ... '-j' will start a parallel job using the number of physical cores available on your system\n$ make install # install the libraries librmm.so, libcudf.so to the CMAKE_INSTALL_PREFIX\n```\n\n- To run tests (Optional):\n```bash\n$ make test\n```\n\n- Build, install, and test cffi bindings:\n```bash\n$ make python_cffi # build CFFI bindings for librmm.so, libcudf.so\n$ make install_python # build & install CFFI python bindings. Depends on cffi package from PyPi or Conda\n$ cd python && py.test -v # optional, run python tests on low-level python bindings\n```\n\n- Build the `cudf` python package, in the `python` folder:\n```bash\n$ cd $CUDF_HOME/python\n$ python setup.py build_ext --inplace\n```\n\n- You will also need the following environment variables, including `$CUDA_HOME`.\n```bash\nNUMBAPRO_NVVM=$CUDA_HOME/nvvm/lib64/libnvvm.so\nNUMBAPRO_LIBDEVICE=$CUDA_HOME/nvvm/libdevice\n```\n\n- To run Python tests (Optional):\n```bash\n$ py.test -v # run python tests on cudf python bindings\n```\n\n- Finally, install the Python package to your Python path:\n```bash\n$ python setup.py install # install cudf python bindings\n```\n\nDone! You are ready to develop for the cuDF OSS project.\n\n## Debugging cuDF\n\n### Building Debug mode from source\n\nFollow the [above instructions](#build-from-source) to build from source and add `-DCMAKE_BUILD_TYPE=Debug` to the `cmake` step. \n\nFor example:\n```bash\n$ cmake .. -DCMAKE_INSTALL_PREFIX=/install/path -DCMAKE_BUILD_TYPE=Debug # configure cmake ... use -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX if you're using Anaconda\n```\n\nThis builds `libcudf` in Debug mode which enables some `assert` safety checks and includes symbols in the library for debugging.\n\nAll other steps for installing `libcudf` into your environment are the same.\n\n### Debugging with `cuda-gdb` and `cuda-memcheck`\n\nWhen you have a debug build of `libcudf` installed, debugging with the `cuda-gdb` and `cuda-memcheck` is easy.\n\nIf you are debugging a Python script, simply run the following:\n\n#### `cuda-gdb`\n\n```bash\ncuda-gdb -ex r --args python .py \n```\n\n#### `cuda-memcheck`\n\n```bash\ncuda-memcheck python .py \n```\n\n\n## Automated Build in Docker Container\n\nA Dockerfile is provided with a preconfigured conda environment for building and installing cuDF from source based off of the master branch.\n\n### Prerequisites\n\n* Install [nvidia-docker2](https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0)) for Docker + GPU support\n* Verify NVIDIA driver is `396.44` or higher\n* Ensure CUDA 9.2+ is installed\n\n### Usage\n\nFrom cudf project root run the following, to build with defaults:\n```bash\n$ docker build --tag cudf .\n```\nAfter the container is built run the container:\n```bash\n$ docker run --runtime=nvidia -it cudf bash\n```\nActivate the conda environment `cudf` to use the newly built cuDF and libcudf libraries:\n```\nroot@3f689ba9c842:/# source activate cudf\n(cudf) root@3f689ba9c842:/# python -c \"import cudf\"\n(cudf) root@3f689ba9c842:/#\n```\n\n### Customizing the Build\n\nSeveral build arguments are available to customize the build process of the\ncontainer. These are specified by using the Docker [build-arg](https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables---build-arg)\nflag. Below is a list of the available arguments and their purpose:\n\n| Build Argument | Default Value | Other Value(s) | Purpose |\n| --- | --- | --- | --- |\n| `CUDA_VERSION` | 9.2 | 10.0 | set CUDA version |\n| `LINUX_VERSION` | ubuntu16.04 | ubuntu18.04 | set Ubuntu version |\n| `CC` & `CXX` | 5 | 7 | set gcc/g++ version; **NOTE:** gcc7 requires Ubuntu 18.04 |\n| `CUDF_REPO` | This repo | Forks of cuDF | set git URL to use for `git clone` |\n| `CUDF_BRANCH` | master | Any branch name | set git branch to checkout of `CUDF_REPO` |\n| `NUMBA_VERSION` | newest | >=0.40.0 | set numba version |\n| `NUMPY_VERSION` | newest | >=1.14.3 | set numpy version |\n| `PANDAS_VERSION` | newest | >=0.23.4 | set pandas version |\n| `PYARROW_VERSION` | 0.12.0 | Not supported | set pyarrow version |\n| `CMAKE_VERSION` | newest | >=3.12 | set cmake version |\n| `CYTHON_VERSION` | 0.29 | Not supported | set Cython version |\n| `PYTHON_VERSION` | 3.6 | 3.7 | set python version |\n\n---\n\n##
Open GPU Data Science\n\nThe RAPIDS suite of open source software libraries aim to enable execution of end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA\u00ae CUDA\u00ae primitives for low-level compute optimization, but exposing that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.\n\n

\n\n### Apache Arrow on GPU\n\nThe GPU version of [Apache Arrow](https://arrow.apache.org/) is a common API that enables efficient interchange of tabular data between processes running on the GPU. End-to-end computation on the GPU avoids unnecessary copying and converting of data off the GPU, reducing compute time and cost for high-performance analytics common in artificial intelligence workloads. As the name implies, cuDF uses the Apache Arrow columnar data format on the GPU. Currently, a subset of the features in Apache Arrow are supported.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rapidsai/cudf", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "cudf", "package_url": "https://pypi.org/project/cudf/", "platform": "", "project_url": "https://pypi.org/project/cudf/", "project_urls": { "Homepage": "https://github.com/rapidsai/cudf" }, "release_url": "https://pypi.org/project/cudf/0.6.1/", "requires_dist": [ "pandas (>=0.23.4)", "numba (<0.42,>=0.40.0)", "pycparser (==2.19)", "pyarrow (==0.12.1)", "cffi (>=1.0.0)", "cython (<0.30,>=0.29)", "numpy (>=1.14)", "nvstrings-cuda92" ], "requires_python": ">=3.6,<3.8", "summary": "cuDF - GPU Dataframe", "version": "0.6.1" }, "last_serial": 5098287, "releases": { "0.5.0": [ { "comment_text": "", "digests": { "md5": "7a08ed1c1bc959ba9df09a9cc967eebd", "sha256": "ca0296d79aaecd5bb0734dc4e0124b1128033ed2c989f2e1111057245ae5d1b8" }, "downloads": -1, "filename": "cudf-0.5.0-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "7a08ed1c1bc959ba9df09a9cc967eebd", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=3.6,<3.8", "size": 15722051, "upload_time": "2019-01-29T04:19:33", "url": "https://files.pythonhosted.org/packages/32/b2/bd743cbd42640c2ee56225166b3838774cd1e300ef5454467b3e284d4cee/cudf-0.5.0-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "d0eefcb16e66c75cf544275e9a8a0af4", "sha256": "bcc40e83ffc0da4b0a6d992639b9b5b24e7ee63ee1ba1f6a46b290f6d8d9baef" }, "downloads": -1, "filename": "cudf-0.5.0-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "d0eefcb16e66c75cf544275e9a8a0af4", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.6,<3.8", "size": 15727151, "upload_time": "2019-01-29T04:19:39", "url": "https://files.pythonhosted.org/packages/01/9d/3eef2e251d0f046ff54d0b2c8e05e50773f373673ce0883f51767e7b6679/cudf-0.5.0-cp37-cp37m-manylinux1_x86_64.whl" } ], "0.5.0.post1": [ { "comment_text": "", "digests": { "md5": "bcb52375293df73a8c849f75cfa3a402", "sha256": "e20b03246713b3aa81bcbc2cb65f8ff568c3a8253a473b640e8c0e5947256ada" }, "downloads": -1, "filename": "cudf-0.5.0.post1-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "bcb52375293df73a8c849f75cfa3a402", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=3.6,<3.8", "size": 16552736, "upload_time": "2019-01-31T06:32:51", "url": "https://files.pythonhosted.org/packages/d9/27/c397725dc512bf744dab82ce54bd456471e19701d0fa7f20b67cd78e0c7e/cudf-0.5.0.post1-cp36-cp36m-manylinux1_x86_64.whl" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "7b3ee55e95b3ab620b68b234d273838e", "sha256": "c48112456594bd341e8f24077c012320b08831146ecaaff5d5b34c79616056a5" }, "downloads": -1, "filename": "cudf-0.5.1-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "7b3ee55e95b3ab620b68b234d273838e", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=3.6,<3.8", "size": 16718368, "upload_time": "2019-02-05T23:29:50", "url": "https://files.pythonhosted.org/packages/cb/5b/6120c52801055636a1ab7c4893e10c1cb38b91ad9e70ceb3f96b806c0cfc/cudf-0.5.1-cp36-cp36m-manylinux1_x86_64.whl" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "e4445b56f87b4bdd75b2e8104f1b8f37", "sha256": "2fb498de48911e8310e965ccd9862dcaafba73217b62cabe578586d3773323a1" }, "downloads": -1, "filename": "cudf-0.6.1-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "e4445b56f87b4bdd75b2e8104f1b8f37", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=3.6,<3.8", "size": 17189909, "upload_time": "2019-04-04T15:30:55", "url": "https://files.pythonhosted.org/packages/c7/ef/0b011612d6a8f981b0c9ab959da9dc4975f144b2f7806cd7eb7f10a15b21/cudf-0.6.1-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "7894db2a211890bce14a8e4d356db440", "sha256": "301fac7e40b38033c9064d078b92cc78095063b5fd2f5d31bc0a14257c930c3b" }, "downloads": -1, "filename": "cudf-0.6.1-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "7894db2a211890bce14a8e4d356db440", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.6,<3.8", "size": 17195012, "upload_time": "2019-04-04T15:30:59", "url": "https://files.pythonhosted.org/packages/1e/73/1593c6cb88eadde9da3365b6f143483048089328110495ea7ef3b98e0d31/cudf-0.6.1-cp37-cp37m-manylinux1_x86_64.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e4445b56f87b4bdd75b2e8104f1b8f37", "sha256": "2fb498de48911e8310e965ccd9862dcaafba73217b62cabe578586d3773323a1" }, "downloads": -1, "filename": "cudf-0.6.1-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "e4445b56f87b4bdd75b2e8104f1b8f37", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=3.6,<3.8", "size": 17189909, "upload_time": "2019-04-04T15:30:55", "url": "https://files.pythonhosted.org/packages/c7/ef/0b011612d6a8f981b0c9ab959da9dc4975f144b2f7806cd7eb7f10a15b21/cudf-0.6.1-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "7894db2a211890bce14a8e4d356db440", "sha256": "301fac7e40b38033c9064d078b92cc78095063b5fd2f5d31bc0a14257c930c3b" }, "downloads": -1, "filename": "cudf-0.6.1-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "7894db2a211890bce14a8e4d356db440", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.6,<3.8", "size": 17195012, "upload_time": "2019-04-04T15:30:59", "url": "https://files.pythonhosted.org/packages/1e/73/1593c6cb88eadde9da3365b6f143483048089328110495ea7ef3b98e0d31/cudf-0.6.1-cp37-cp37m-manylinux1_x86_64.whl" } ] }