跳转到主要内容

spack安装的子系统图生成

项目描述

Compspec Spack

PyPI version

Compspec(组合规范)是一种比较事物的规范和模型。Compspec spack 是一个插件,用于提取关于系统上安装的软件(对于系统或用户 spack 安装)的 spack 子系统元数据,可用于调度和其他目的。它输出Json Graph Format版本2。了解更多

  • Compspec:发现和加载此插件的 Python 库。

用法

在此处安装 compspec 和插件

pip install compspec
pip install compspec-spack

然后使用 spack 运行提取。您需要提供要描述的 spack 安装的根目录

compspec extract spack /path/to/spack

保存到文件

compspec extract --outfile spack-subsystem.json spack /path/to/spack
compspec-spack 输出
{
    "graph": {
        "nodes": {
            "spack0": {
                "metadata": {
                    "type": "spack",
                    "basename": "spack",
                    "name": "spack0",
                    "id": 0,
                    "uniq_id": 0,
                    "containment": {
                        "paths": "/spack0"
                    },
                    "size": 1,
                    "unit": "",
                    "rank": 0,
                    "exclusive": false
                },
                "label": "spack0"
            },
            "package1": {
                "metadata": {
                    "type": "package",
                    "basename": "package",
                    "name": "package0",
                    "id": 1,
                    "uniq_id": 1,
                    "containment": {
                        "paths": "/spack0/package0"
                    },
                    "size": 1,
                    "unit": "",
                    "rank": 0,
                    "exclusive": false,
                    "attributes": {
                        "name": "perl",
                        "version": "5.38.0",
                        "platform": "linux",
                        "target": "skylake",
                        "os": "ubuntu22.04",
                        "vendor": "GenuineIntel",
                        "compiler_version": "11.4.0",
                        "compiler": "gcc"
                    }
                },
...
    "edges": [
        {
                "source": "package7721",
                "target": "library7786",
                "metadata": {
                    "name": {
                        "containment": "contains"
                    }
                }
            },
            {
                "source": "library7786",
                "target": "package7721",
                "metadata": {
                    "name": {
                        "containment": "in"
                    }
                }
            }
        ]
    },
    "metadata": {
        "install_name": "compat-experiment",
        "spack_root": "/home/vanessa/Desktop/Code/flux/spack/opt/spack"
    }

请注意,即使我们在节点级别压缩了包(节点)的属性,此输出也可能非常大!我确实认为我们需要将库/二进制文件作为单独的节点,这就是为什么它会变得如此之大。

开发

如果您在 VSCode 中打开开发容器,您会在路径上找到 spack

$ which spack

这使我们能够轻松地开发和测试兼容性插件。您也可以仅在本地上克隆 spack。

待办事项

  • 添加 Python 提取示例
  • 测试 gloob gloob gloob

许可证

HPCIC DevTools 在 MIT 许可证的条款下分发。所有新的贡献都必须在此许可证下进行。

请参阅许可协议版权声明注意事项以获取详细信息。

SPDX-License-Identifier: (MIT)

LLNL-CODE- 842614

项目详情


下载文件

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

源代码发行版

compspec-spack-0.0.1.tar.gz (8.1 kB 查看哈希值)

上传时间 源代码

构建发行版

compspec_spack-0.0.1-py3-none-any.whl (10.8 kB 查看哈希值)

上传时间 Python 3

由以下支持

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