-
Notifications
You must be signed in to change notification settings - Fork 58
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
Remote IO: http support #464
Merged
Merged
Changes from 52 commits
Commits
Show all changes
73 commits
Select commit
Hold shift + click to select a range
a01dc53
Impl. basic remote handle
madsbk a6467d5
RemoteHandle::read()
madsbk 127b782
ci: rangehttpserver
madsbk 089397f
libcurl>=7.75.0 # Need <https://curl.se/libcurl/c/CURLOPT_AWS_SIGV4.…
madsbk 5f1fca0
cmake
madsbk eaacacf
fix ci rangehttpserver
madsbk 59595a8
cleanup
madsbk f803220
get_file_size(): check -1
madsbk dd06044
Read(): check file size
madsbk 06dcb35
LibCurl get/set: use lock
madsbk 7501600
test_no_range_support
madsbk 7e6315e
bump libcurl>=7.87.0
madsbk 4f9ab63
ci: more libcurl>=7.87.0
madsbk a20774c
cmake: CURL 7.87.0
madsbk 43421ed
ci_debug
madsbk 7df0e9f
CURLOPT_FOLLOWLOCATION
madsbk 40b4be3
overflow_error
madsbk 943e30b
RemoteEndpoint
madsbk e8f6b12
cpp_RemoteEndpoint
madsbk 5f73677
from_http_url
madsbk 5dbe2e5
Update cpp/include/kvikio/remote_handle.hpp
madsbk f9873c0
setopt(): use CURLoption
madsbk 4896452
comment: need CURL_WRITEFUNC_ERROR
madsbk e53b761
LibCurl: use vector
madsbk 4ba4eb4
UniqueHandlePtr
madsbk bf716be
get_handle() / retain_handle()
madsbk 83774e3
clean up
madsbk e884d3c
doc
madsbk 6637089
utils: LocalHttpServer
madsbk a0098e9
http benchmark
madsbk 0e6dc7a
test_http_io
madsbk f0b2f9f
example
madsbk 8e7e2cf
cleanup
madsbk fa67219
cmake: rapids_cpm_find CURL
madsbk 9906a14
cleanup
madsbk d38121b
doc
madsbk bdc1e22
cleanup
madsbk 51057f6
Merge branch 'branch-24.10' of https://github.com/rapidsai/kvikio int…
madsbk 383fa4c
clean up
madsbk 0055373
docs
madsbk 628e525
doc
madsbk 8726f87
fix virtual dtor
madsbk 3222c92
Merge branch 'branch-24.12' of https://github.com/rapidsai/kvikio int…
madsbk c94121d
fix benckmark
madsbk 0c764ba
clean up
madsbk 91d953b
libcurl.hpp
madsbk 94e47ee
rename: RemoteFile.open_http
madsbk fcb9358
doc
madsbk e8018d1
cleanup
madsbk bb737b9
PushAndPopContext outside callback_device_memory()
madsbk f3f46f8
Merge branch 'branch-24.12' of https://github.com/rapidsai/kvikio int…
madsbk b8a9c0a
more nvtx
madsbk 9cffe1c
Apply suggestions from code review
madsbk 792f43f
Merge branch 'branch-24.12' of https://github.com/rapidsai/kvikio int…
madsbk 1257a9f
std::function<decltype(curl_easy_cleanup)>
madsbk 1006b24
getinfo: take output pointer
madsbk 9ba9752
STATUS
madsbk 128e3dd
close
madsbk 0df1726
test_http_io: check is_remote_file_available
madsbk 96af5ac
std::ptrdiff_t
madsbk feccdd9
Apply suggestions from code review
madsbk 119c025
Merge branch 'remote-io' of github.com:madsbk/kvikio into remote-io
madsbk 7dcc8f3
use conda's rangehttpserver
madsbk 60f7331
doc
madsbk 13e0b7a
CallbackContext ctor
madsbk 474e694
host: libcurl==7.87.0
madsbk 9022b18
run: remove libcurl>=7.87.0
madsbk 8bbb33b
curl-7_87_0
madsbk 46b9300
Merge branch 'branch-24.12' of https://github.com/rapidsai/kvikio int…
madsbk 1176b67
kvikio/meta.yaml: libcurl==7.87.0
madsbk 4ed88a2
Merge branch 'branch-24.12' of https://github.com/rapidsai/kvikio int…
madsbk cc7b291
Merge branch 'branch-24.12' of https://github.com/rapidsai/kvikio int…
madsbk 58e3054
cmake clean up
madsbk File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
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 |
---|---|---|
|
@@ -52,6 +52,7 @@ requirements: | |
{% else %} | ||
- libcufile-dev # [linux] | ||
{% endif %} | ||
- libcurl>=7.87.0 | ||
|
||
outputs: | ||
- name: libkvikio | ||
|
@@ -83,6 +84,7 @@ outputs: | |
{% else %} | ||
- libcufile-dev # [linux] | ||
{% endif %} | ||
- libcurl>=7.87.0 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use an exact pinning in There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done |
||
test: | ||
commands: | ||
- test -f $PREFIX/include/kvikio/file_handle.hpp | ||
|
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,32 @@ | ||
# ============================================================================= | ||
# Copyright (c) 2024, NVIDIA CORPORATION. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except | ||
# in compliance with the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software distributed under the License | ||
# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express | ||
# or implied. See the License for the specific language governing permissions and limitations under | ||
# the License. | ||
# ============================================================================= | ||
|
||
# This function finds libcurl and sets any additional necessary environment variables. | ||
function(find_and_configure_libcurl) | ||
include(${rapids-cmake-dir}/cpm/find.cmake) | ||
|
||
rapids_cpm_find( | ||
CURL 7.87.0 | ||
GLOBAL_TARGETS libcurl | ||
BUILD_EXPORT_SET kvikio-exports | ||
INSTALL_EXPORT_SET kvikio-exports | ||
CPM_ARGS | ||
GIT_REPOSITORY https://github.com/curl/curl | ||
GIT_TAG curl-8_10_1 # let's get a newer release if we have to build it ourselves anyways. | ||
madsbk marked this conversation as resolved.
Show resolved
Hide resolved
|
||
OPTIONS "BUILD_CURL_EXE OFF" "BUILD_SHARED_LIBS OFF" "BUILD_TESTING OFF" "CURL_USE_LIBPSL OFF" | ||
"CURL_DISABLE_LDAP ON" "CMAKE_POSITION_INDEPENDENT_CODE ON" | ||
) | ||
endfunction() | ||
|
||
find_and_configure_libcurl() |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use an exact pinning here -- building against a specific (possibly older) version will allow users to have anything equal or newer at runtime. See other comment below about run pinnings.
The problem you want to avoid is that this host pinning could pull
libcurl 7.999
at build time (anything>=7.87
), but your run pinning below is>=7.87.0
which might be incompatible. Pinning a specific version at build time and then relying on run-exports for a compatible runtime pinning is the cleanest solution here, and it's how we handle most dependencies like this.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the clarification, I understand
meta.yaml
a little bit better now :)