跳转到主要内容

统一通信X库(UCX)

项目描述

UCX轮构建

此存储库托管用于构建UCX轮的代码。

目的

RAPIDS发布多个依赖于UCX的库,包括ucxxucx-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包装文档中的“发布后”(链接)。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

此版本没有可用的源分发文件。请参阅生成分发存档的教程

构建分发

libucx_cu12-1.17.0-py3-none-manylinux_2_28_x86_64.whl (26.9 MB 查看哈希值)

上传时间: Python 3 manylinux: glibc 2.28+ x86-64

libucx_cu12-1.17.0-py3-none-manylinux_2_28_aarch64.whl (26.3 MB 查看哈希值)

上传时间: Python 3 manylinux: glibc 2.28+ ARM64

支持者

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面