2 个版本

0.1.1 2019年11月18日
0.1.0 2019年11月14日

#3245 in #api-bindings


用于 papi

MIT/Apache

9KB
99 代码行

papi-sys

用法

首先,将以下内容添加到你的 Cargo.toml

[dependencies]
papi-sys = "0.1.0"

在构建之前,请确保你的系统中已安装PAPI。

什么是papi-sys?

此包的目的是为papi.h提供1:1绑定。PAPI是一个提供对硬件性能计数器一致接口的库。有关更多信息,请访问PAPI网站

请注意,此包不提供PAPI的高级接口。

环境变量

有两个环境变量可以指定自定义的PAPI库路径

  • PAPI_PREFIX:用于生成bindings.rs
  • LD_LIBRARY_PATH:用于动态链接libpapi.so

假设你在/opt/papi/5.7.0/下安装了PAPI,然后你可以通过以下方式测试

$ PAPI_PREFIX=/opt/papi/5.7.0/ LD_LIBRARY_PATH=/opt/papi/5.7.0/lib:$LD_LIBRARY_PATH cargo test

为了避免设置LD_LIBRARY_PATH,你可以通过运行以下命令全局配置搜索路径:

$ sudo echo "/opt/papi/5.7.0/" > /etc/ld.so.conf.d/papi.conf
$ sudo ldconfig

平台

以下平台目前已进行测试

  • x86_64-unknown-linux-gnu
  • powerpc64le-unknown-linux-gnu

依赖

以下依赖项版本目前是必需的

  • rustc >= 1.36
  • gcc >= 4.8 或 clang >= 3.8

许可

根据你的选择,许可协议为

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在工作中的任何贡献,应按上述方式双许可,不附加任何额外条款或条件。

依赖

~0–2.3MB
~44K SLoC