-
Notifications
You must be signed in to change notification settings - Fork 58
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Build KvikIO as a shared library (#527)
Moving libcurl dependent functions to `remote_handle.cpp` (let's move the rest in a follow up PR) and setup building `libkvikio.so`. ### Background Now that KvikIO has evolved into a standalone IO library that works without cuFile and CUDA, I think it makes sense to move to a shared library. Originally, KvikIO was a very thin wrapper around cuFile, which is why we decided to keep it header-only (not because of templates). **Pros**: - Enables us to statically compile libcurl into `libkvikio.so`. * Required by our wheels. If we don’t do this, we will have to find another solution to #512 - Avoid having to compile libcurl in downstream projects. Currently, cudf must compile libcurl in every build. - Reduce compile time in CI, both for KvikIO and downstream projects. - Ease development by not having to rebuild downstream projects like cudf every time KvikIO is modified. **Cons**: - Projects cannot vendoring KvikIO as a header-only project. As far as we know, nobody does this. Authors: - Mads R. B. Kristensen (https://github.com/madsbk) - Paul Taylor (https://github.com/trxcllnt) Approvers: - Robert Maynard (https://github.com/robertmaynard) - Vyas Ramasubramani (https://github.com/vyasr) - Bradley Dice (https://github.com/bdice) URL: #527
- Loading branch information
Showing
21 changed files
with
488 additions
and
352 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#!/bin/bash | ||
# Copyright (c) 2024, NVIDIA CORPORATION. | ||
|
||
set -euo pipefail | ||
|
||
package_name=$1 | ||
package_dir=$2 | ||
|
||
source rapids-configure-sccache | ||
source rapids-date-string | ||
|
||
rapids-generate-version > ./VERSION | ||
|
||
cd "${package_dir}" | ||
|
||
sccache --zero-stats | ||
|
||
rapids-logger "Building '${package_name}' wheel" | ||
python -m pip wheel \ | ||
-w dist \ | ||
-v \ | ||
--no-deps \ | ||
--disable-pip-version-check \ | ||
. | ||
|
||
sccache --show-adv-stats |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.