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

[FEA] Update cmake to only build for present GPU #2902

Closed
jrhemstad opened this issue Oct 1, 2019 · 2 comments
Closed

[FEA] Update cmake to only build for present GPU #2902

jrhemstad opened this issue Oct 1, 2019 · 2 comments
Labels
CMake CMake build issue feature request New feature or request libcudf Affects libcudf (C++/CUDA) code.

Comments

@jrhemstad
Copy link
Contributor

jrhemstad commented Oct 1, 2019

Is your feature request related to a problem? Please describe.

As of 388dd12 libcudf's full build compile time using ninja is: 7m 40s

The longer the compile time, the slower the development process. As such, we should do what we can to reduce compile time. Currently, libcudf's cmake configuration builds a fatbin for both sm60 and sm70.

If I disable the fatbin and only generate PTX for my target architecture (compute_70), compile time is: 3m 38s

However, this comes at a significant runtime cost: as soon as you try and run any tests, the CUDA runtime will JIT compile all of the library's PTX into SASS (which takes a very long time).

Instead, if we generate a fatbin for only a single GPU (e.g., compute_70,sm_70), compile time is: 4m 54s

Describe the solution you'd like

Update the CMake build to only generate a fatbin for the architecture present on the machine.

Additional context
Related: #1099 #581

@jrhemstad jrhemstad added feature request New feature or request libcudf Affects libcudf (C++/CUDA) code. CMake CMake build issue labels Oct 1, 2019
@jrhemstad
Copy link
Contributor Author

cuML looks to already have much of the machinery for detecting the target arch: https://github.com/rapidsai/cuml/blob/branch-0.10/cpp/cmake/EvalGpuArchs.cmake

@jrhemstad jrhemstad changed the title [FEA] Create "Developer" cmake build type to only build target PTX [FEA] Update cmake to only build for target GPU Oct 1, 2019
@jrhemstad jrhemstad changed the title [FEA] Update cmake to only build for target GPU [FEA] Update cmake to only build for present GPU Oct 1, 2019
@jrhemstad
Copy link
Contributor Author

Closed by #2955

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CMake CMake build issue feature request New feature or request libcudf Affects libcudf (C++/CUDA) code.
Projects
None yet
Development

No branches or pull requests

1 participant