统一通信X库(UCX)
项目描述
UCX轮制作
此存储库托管用于构建UCX轮的代码。
目的
RAPIDS发布了多个依赖UCX的库,包括ucxx和ucx-py。RAPIDS分发这些库的方式之一是以pip轮的形式。为了可移植性,轮应该尽可能自包含,按照manylinux标准。然而,这的代价是(有时非常)膨胀,因为轮必须捆绑所有其依赖项。此外,为了避免捆绑的动态库与本地共享库的副本冲突,轮必须使用如auditwheel之类的工具更改库名称。这种做法对于像UCX这样的库尤其成问题,因为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_cu11-1.17.0-py3-none-manylinux_2_28_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9249a6c295fb5c4b1f585ad6880e17dff71ed510e8b673415014552fdd86141b |
|
MD5 | 684d81aa0a1809752358f618e5dfb826 |
|
BLAKE2b-256 | 11858574082d0baecd9f03f0fbc94edf0382f2722043bef1042037bb4a0b51a0 |
关闭
哈希值 for libucx_cu11-1.17.0-py3-none-manylinux_2_28_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 55fdbf8404538f8a01e1e1789984842f77ea38fdf5f4fa67518c541235d89c66 |
|
MD5 | f4844bf22ed96b28f048bd45833d106f |
|
BLAKE2b-256 | d543c1d4879061b3618dcab75750e7caf3af3944633ab98bf00b7a4cfc50e525 |