统一通信X库(UCX)
项目描述
UCX轮构建
此存储库托管用于构建UCX轮的代码。
目的
RAPIDS发布多个依赖于UCX的库,包括ucxx和ucx-py。RAPIDS提供这些库的一种方式是将其作为pip wheel的形式发布。为了便携性,轮应该尽可能自包含,按照manylinux标准。然而,这的代价是(有时是极端的)膨胀,因为轮必须捆绑所有依赖项。此外,为了避免捆绑的动态库与本地共享库的副本冲突,轮必须使用如auditwheel等工具更改库名称。这种做法对于像UCX这样依赖于dlopen
在运行时而不是链接时加载库的库来说尤其有问题,这使得对二进制文件的静态分析以确定其依赖关系树变得更加困难。为了避免这个问题,在此存储库中,我们直接构建UCX库,并以未更改名称的方式将其打包在轮中,但以支持在运行时动态加载库的方式,以避免与系统版本库冲突。虽然这种方法在其他系统上加载的库使用UCX的系统副本时仍然可能存在问题,但它比大多数替代方案更稳健。
如何构建UCX轮
本存储库中的UCX车轮是通过使用为setuptools编写的自定义构建命令来构建UCX库的。然后,该库被捆绑并直接安装到输出目录中。
此库的{major}.{minor}.{patch}
版本与UCX版本完全对应。例如,libucx==1.16.0
包含从https://github.com/openucx/ucx/releases/tag/v1.16.0构建的库。
当包装逻辑本身发生变化时,会发布发布后版本,如libucx==1.16.0.post1
。有关详细信息,请参阅Python包装文档中的“发布后”(链接)。
项目详情
关闭
哈希值 for libucx_cu12-1.17.0-py3-none-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 242b6b7568e3546b7af7e51b91a0e0f65951bc7c9c8a82431220231b93d802bf |
|
MD5 | c4d6e8e7a5a7d0a4cd8506203a002a44 |
|
BLAKE2b-256 | 12680db4fbfd950fa72239bbcd041f02e2f00a7851f0fedabb974425bb1c905e |
关闭
哈希值 for libucx_cu12-1.17.0-py3-none-manylinux_2_28_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e10b88d8952a6d874c39f2a779be14e555c8c4db88324e4adf25e3e185af063b |
|
MD5 | e86e5d9d4df6e2667a8943dbbb20be0b |
|
BLAKE2b-256 | e2a7c8a9cd5ac193ce0d82f3210cd73bb185a8205d1a4a104321f3941dd21d6d |