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] Add benchmark build option to root build.sh #2786

Merged
merged 3 commits into from
Sep 12, 2019
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
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
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
- PR #2724 Add libcudf support for __contains__
- PR #2743 Add Java bindings for NVStrings timestamp2long as part of String ColumnVector casting
- PR #2785 Add nvstrings Python docs
- PR #2786 Add benchmarks option to root build.sh

## Improvements

Expand Down
11 changes: 9 additions & 2 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,16 @@ ARGS=$*
# script, and that this script resides in the repo dir!
REPODIR=$(cd $(dirname $0); pwd)

VALIDARGS="clean libnvstrings nvstrings libcudf cudf dask_cudf -v -g -n -h"
HELP="$0 [clean] [libcudf] [cudf] [dask_cudf] [-v] [-g] [-n] [-h]
VALIDARGS="clean libnvstrings nvstrings libcudf cudf dask_cudf benchmarks -v -g -n -h"
HELP="$0 [clean] [libcudf] [cudf] [dask_cudf] [benchmarks] [-v] [-g] [-n] [-h]
clean - remove all existing build artifacts and configuration (start
over)
libnvstrings - build the nvstrings C++ code only
nvstrings - build the nvstrings Python package
libcudf - build the cudf C++ code only
cudf - build the cudf Python package
dask_cudf - build the dask_cudf Python package
benchmarks - build benchmarks
-v - verbose build mode
-g - build for debug
-n - no install step
Expand Down Expand Up @@ -82,6 +83,11 @@ fi
if hasArg -n; then
INSTALL_TARGET=""
fi
if hasArg benchmarks; then
BENCHMARKS="ON"
else
dillon-cullinan marked this conversation as resolved.
Show resolved Hide resolved
BENCHMARKS="OFF"
fi

# If clean given, run it prior to any other steps
if hasArg clean; then
Expand Down Expand Up @@ -131,6 +137,7 @@ if (( ${NUMARGS} == 0 )) || hasArg libcudf; then
cd ${LIBCUDF_BUILD_DIR}
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DCMAKE_CXX11_ABI=ON \
-DBUILD_BENCHMARKS=${BENCHMARKS} \
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you want to do with this approach or do you want a make bench cmake command(s) similar to tests?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ultimately something you described is ideal. I'm trying to get this integrated in a nightly Jenkins build today, so this is more of a bandaid patch to keep it easy to work with for now.

-DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
if [[ ${INSTALL_TARGET} != "" ]]; then
make -j${PARALLEL_LEVEL} install_cudf VERBOSE=${VERBOSE}
Expand Down