跳转到主要内容

统一通信X库(UCX)

项目描述

UCX轮制作

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

目的

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

项目详情


下载文件

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

源分发

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

构建分发

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

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

libucx_cu11-1.17.0-py3-none-manylinux_2_28_aarch64.whl (26.2 MB 查看哈希值)

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

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面