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

[REVIEW] Fix issues with building cudf in a non-conda environment #7647

Merged
merged 54 commits into from
Apr 1, 2021
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
aa9459b
fix cudf build
galipremsagar Mar 18, 2021
97e4a70
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 19, 2021
a7dba6b
add non interactive env
galipremsagar Mar 19, 2021
922fccc
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 19, 2021
ebfe908
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 19, 2021
c1b3a1a
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 21, 2021
8f88742
fix nvrtc jitify issue
galipremsagar Mar 22, 2021
4a70d66
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 22, 2021
ce7e9d5
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 23, 2021
a3701cf
sync with update changes
galipremsagar Mar 23, 2021
646061d
add cuda lib dir
galipremsagar Mar 24, 2021
4bcecfa
remove 3.6 python usages
galipremsagar Mar 24, 2021
5ec449c
make changes to docker build
galipremsagar Mar 24, 2021
5be7e13
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 24, 2021
0ccd3bd
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 24, 2021
81fb026
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 25, 2021
281297f
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 26, 2021
22303df
changes to build
galipremsagar Mar 27, 2021
a31a464
change cuda version and remove double arrow-cpp compilation
galipremsagar Mar 27, 2021
ef0d9df
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 27, 2021
705d7c4
remove installing arrow test req
galipremsagar Mar 27, 2021
c25c2bb
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 27, 2021
98e8538
introduce requirements-build & requirements-run.txt
galipremsagar Mar 29, 2021
86111d7
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 29, 2021
3eaa818
remove not needed env vars
galipremsagar Mar 29, 2021
9013c6c
remove dev tooling packages
galipremsagar Mar 29, 2021
8300a8b
disable building gandiva for arrow
galipremsagar Mar 29, 2021
317a9f0
Update python/cudf/requirements/requirements-build.txt
galipremsagar Mar 29, 2021
f67c7d0
remove clang
galipremsagar Mar 29, 2021
e0b6458
Merge branch 'cudf_build_fix' of https://github.com/galipremsagar/cud…
galipremsagar Mar 29, 2021
3f2c291
remove numba specific workaround variables
galipremsagar Mar 29, 2021
a81ec5a
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 30, 2021
eca6e41
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 30, 2021
679d8cf
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 31, 2021
5439d58
remove requirements.txt files
galipremsagar Mar 31, 2021
a824722
cleanup
galipremsagar Mar 31, 2021
9e793ef
add for dask-cudf
galipremsagar Mar 31, 2021
998ae32
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Mar 31, 2021
71d5089
pin to correct supported python version
galipremsagar Mar 31, 2021
408ee6a
add dev requirements
galipremsagar Mar 31, 2021
6c5ff1e
copyright
galipremsagar Mar 31, 2021
3ac2f24
handle dask-cudf
galipremsagar Mar 31, 2021
17cab90
cudf_kafka and custreamz
galipremsagar Mar 31, 2021
8e04fb0
reviews
galipremsagar Mar 31, 2021
eecf6d2
add streamz and cudf_kafka dev reqs
galipremsagar Mar 31, 2021
9efc93e
update req
galipremsagar Mar 31, 2021
7832b4c
add pyarrow comment
galipremsagar Mar 31, 2021
998516f
fix kafka build too
galipremsagar Mar 31, 2021
7d97767
remove redundant packages
galipremsagar Mar 31, 2021
df61e18
Merge remote-tracking branch 'upstream/branch-0.19' into cudf_build_fix
galipremsagar Apr 1, 2021
ec396e2
obtain accurate path irrespective of the current working directory
galipremsagar Apr 1, 2021
0b7a74f
resolve full path
galipremsagar Apr 1, 2021
30ec5dd
Update conda/environments/cudf_dev_cuda11.1.yml
galipremsagar Apr 1, 2021
b13d043
Update conda/environments/cudf_dev_cuda11.2.yml
galipremsagar Apr 1, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions docker_build/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# An integration test & dev container which builds and installs cuDF from main
ARG CUDA_VERSION=10.2
galipremsagar marked this conversation as resolved.
Show resolved Hide resolved
ARG CUDA_SHORT_VERSION=${CUDA_VERSION}
kkraus14 marked this conversation as resolved.
Show resolved Hide resolved

FROM nvidia/cuda:${CUDA_VERSION}-devel
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/lib
# Needed for cudf.concat(), avoids "OSError: library nvvm not found"
ENV NUMBAPRO_NVVM=/usr/local/cuda/nvvm/lib64/libnvvm.so
ENV NUMBAPRO_LIBDEVICE=/usr/local/cuda/nvvm/libdevice/
kkraus14 marked this conversation as resolved.
Show resolved Hide resolved
ENV DEBIAN_FRONTEND=noninteractive

ENV CC=/usr/bin/gcc
ENV CXX=/usr/bin/g++
galipremsagar marked this conversation as resolved.
Show resolved Hide resolved

# Build env variables for arrow
ENV CMAKE_BUILD_TYPE=release
ENV PYARROW_WITH_PARQUET=1
ENV PYARROW_WITH_CUDA=1
ENV PYARROW_WITH_ORC=1
ENV PYARROW_WITH_DATASET=1

ENV ARROW_HOME=/repos/dist
kkraus14 marked this conversation as resolved.
Show resolved Hide resolved
ENV LD_LIBRARY_PATH=/repos/dist/lib:$LD_LIBRARY_PATH

# Build env variables for rmm
ENV INSTALL_PREFIX=/usr


RUN apt update -y --fix-missing && \
apt upgrade -y && \
apt install -y --no-install-recommends \
git \
libboost-all-dev \
python3.7-dev \
build-essential \
cmake \
software-properties-common \
llvm-7 \
autoconf \
bison \
flex \
libboost-filesystem-dev \
libboost-system-dev \
libboost-regex-dev \
libjemalloc-dev \
wget \
libssl-dev \
protobuf-compiler \
clang && \
kkraus14 marked this conversation as resolved.
Show resolved Hide resolved
apt-get autoremove -y && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* && \
add-apt-repository ppa:deadsnakes/ppa && \
kkraus14 marked this conversation as resolved.
Show resolved Hide resolved
update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1 && \
apt-get install curl && \
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
python3.7 get-pip.py

# Install llvm 11.1 for apache
RUN wget https://github.com/llvm/llvm-project/releases/download/llvmorg-11.1.0/clang+llvm-11.1.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz && tar -xvf clang+llvm-11.1.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz && \
mv clang+llvm-11.1.0-x86_64-linux-gnu-ubuntu-16.04 llvm-11.1 && cp -R llvm-11.1 /usr/lib/ && rm -rf clang+llvm-11.1.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz && \
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
apt-get install llvm-10-dev llvm-9-dev -y && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
kkraus14 marked this conversation as resolved.
Show resolved Hide resolved

# Install arrow from source
RUN git clone https://github.com/apache/arrow.git /repos/arrow && mkdir /repos/dist/ && cd /repos/arrow && git checkout apache-arrow-1.0.1 && git submodule init && \
git submodule && export PARQUET_TEST_DATA="${PWD}/cpp/submodules/parquet-testing/data" && export ARROW_TEST_DATA="${PWD}/testing/data" && \
cd /repos/arrow/cpp && mkdir release && cd /repos/arrow/cpp/release && pip install -r /repos/arrow/python/requirements-build.txt && \
pip install -r /repos/arrow/python/requirements-test.txt && cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME -DCMAKE_INSTALL_LIBDIR=lib -DARROW_FLIGHT=ON -DARROW_GANDIVA=ON -DARROW_ORC=ON -DARROW_WITH_BZ2=ON -DARROW_WITH_ZLIB=ON -DARROW_WITH_ZSTD=ON -DARROW_WITH_LZ4=ON -DARROW_WITH_SNAPPY=ON -DARROW_WITH_BROTLI=ON -DARROW_PARQUET=ON -DARROW_PYTHON=ON -DARROW_PLASMA=ON -DARROW_BUILD_TESTS=ON -DARROW_CUDA=ON -DARROW_DATASET=ON .. && \
galipremsagar marked this conversation as resolved.
Show resolved Hide resolved
make -j6 && make install && cd /repos/arrow/python/ && python setup.py build_ext --build-type=release --bundle-arrow-cpp bdist_wheel && pip install /repos/arrow/python/dist/*.whl
galipremsagar marked this conversation as resolved.
Show resolved Hide resolved


# Install rmm from source
RUN cd /repos/ && git clone https://github.com/rapidsai/rmm.git && cd rmm/ && pip install clang==8.0.1 && pip install cmake==3.18 && pip install numba && ./build.sh
kkraus14 marked this conversation as resolved.
Show resolved Hide resolved

ADD . /repos/cudf/
# Install cudf from source
RUN cd /repos/cudf/ && git submodule update --init --recursive && ./build.sh && pip install -r python/cudf/requirements.txt --ignore-installed
44 changes: 44 additions & 0 deletions python/cudf/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
clang==8.0.1
kkraus14 marked this conversation as resolved.
Show resolved Hide resolved
cupy-cuda102
cmake
wheel==0.34.2
cmake-setuptools
numpy
pandas
fastavro
notebook
cython
fsspec
pytest
pytest-benchmark
pytest-xdist
sphinx
sphinx_rtd_theme
sphinxcontrib-websupport
nbsphinx
numpydoc
ipython
recommonmark
pandoc
partd
flake8==3.8.3
black
isort==5.0.7
mypy==0.782
typing_extensions
pre_commit
dask
distributed
streamz
dlpack
rapidjson
flatbuffers
hypothesis
sphinx-markdown-tables
sphinx-copybutton
mimesis
packaging
protobuf
nvtx
cachetools
numba
1 change: 1 addition & 0 deletions python/cudf/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ def run(self):
"../../cpp/include",
os.path.join(CUDF_ROOT, "include"),
os.path.join(CUDF_ROOT, "_deps/libcudacxx-src/include"),
os.path.join(CUDF_ROOT, "_deps/dlpack-src/include"),
os.path.join(
os.path.dirname(sysconfig.get_path("include")),
"libcudf/libcudacxx",
Expand Down