跳到主要内容

2021-10-20 conda-forge 核心会议

上周会议 我的时区会议是什么时间 会议信息

与会者

  • Isuru Fernando
  • Eric Dill
  • Filipe Fernandes
  • Matthew Becker
  • Cheng H. Lee
  • John Kirkham
  • Ryan May
  • Keith Kraus
  • Wolf Vollprecht
  • Jaime Rodriguez-Guerra
  • CJ Wright
  • Lori Burns
  • Chris Burr

议程 2021-10-20

常设事项

  • 在通话中为新人介绍

  • (FF) 预算

    • 当前的审批?
    • 每当更新的数字出现时,请屏幕共享并展示预算。
      • 链接在 Keybase 中 (numfocus_spreadsheets.txt)
  • 公开投票

来自之前会议

  • (CB) NumFocus 修正案
    • CB - 不确定我们是否讨论过,想在代表核心签署之前与核心讨论。不确定自上次以来有什么变化。

您的() 议程项目

  • JRG: Quansight GPU 队列:conda-forge 需求、访问类型、堆栈

    • 上周与 OpenTeams 进行了聊天(服务器终于安装好了)。看到了如何管理服务器的界面。想要在裸机上使用 OpenStack。这很慢,所以我们正在按需进行 VM。正在转换基础设施以支持这一点。需要决定 CF 需要哪种类型的访问。从我们的对话中不太清楚我们是需要完全管理员权限还是只需要一个管理器帐户来设置 webhook,或者是否将由 quansight 代表 conda-forge 进行管理。需要弄清楚 CF 需要什么,以便 quansight 能够适应。
    • IF - 将需要 drone 界面的管理员访问权限,不需要服务器上的管理员权限。您可以在 drone 服务器上创建一个管理员帐户,所以我们需要访问该帐户。有一个新的 docker 镜像支持 PowerPC。他们可以运行该镜像而不是 drone 镜像吗?
    • JRG - drone 服务器需要 24x7 运行。我们有 8 个 GPU,48 个核心,不确定 RAM 的数量。可能可以讨论容纳长时间构建(例如,Qt)。我们将从 GPU 开始,并可能从那里扩展。目前没有时间估计 - 现在我们有了这个,我们可以开始讨论 CF 的需求。我们知道免费的 Drone 是否足够吗?
    • IF - 是的,免费的 drone 足够了。从服务器端来说,我们应该允许任何 CF 仓库。有两种方法可以限制访问 - 从服务器端和 runner 端。从服务器端来说,我们需要访问所有 CF 仓库。需要能够在服务器中注册任何 CF 仓库。如果您想进行限制,则需要在 runner 端进行。
    • JRG - 这是问题之一 -- feedstock 的允许列表是什么?另一个问题,但现在不记得了。TODO:如果您记起来了,请发送问题。我们需要每个人都有个人帐户还是一个 CF 组织范围的登录名。
    • IF - 个人帐户就可以了。在 drone 服务器上,作业将是公开的,但我们可以限制谁可以在服务器本身中创建帐户。可以将 conda-forge/core 作为可以登录的人员。这样,来自 CF/core 的人员可以创建帐户并登录。
    • MRB - 需要添加一个 bot 作为我们正在运行的所有事物的管理员。我们将需要使用 Drone API 将密钥放入作业和所有其他内容中。应该添加 conda-forge-admin。
    • IF - 使用 Drone,您不需要添加 bot 帐户 - 可以在 drone 端创建一个 bot 帐户。它不会有 GUI 访问权限,只有 API 访问权限。然后使用该 bot 帐户注册作业的密钥。
    • JRG - Drone 服务器可以与 Openstack 通信以启动 VM 吗?runner 将如何从 Drone 服务器创建?目前尚不清楚 runner 将如何启动。
    • https://autoscale.drone.io/install/openstack/
    • JRG - 我们对 runner VM 需要什么规格?
    • IF - 就 Drone 服务器而言,磁盘是最重要的 -
      • 就 runner 而言,CPU / MEM 呢?
        • KK - 这非常依赖于软件。Qt 不需要 GPU,但确实需要大量内存。
      • 多 GPU?2-gpu 的事情应该在上游完成。我们只需要知道它在单个 GPU 上有效。
        • KK - 多 GPU 的工作方式很多时候都很奇怪。有时,如果您构建单 GPU,则多 GPU 将无法工作。如果您使用 NCCL 构建
    • https://githubdocs.cn/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources
      • 值得拥有比这更多的资源,因为某些构建(例如 pytorch)在这种配置下需要 10 多个小时
    • 我们应该预先向他们展示所需的 VM。
      • 应该将盒子分成 1/8 的增量。然后让 CF 请求 1/8 或 2/8 盒子的 VM。
    • JRG - drone.conda-forge.org 可以与 Quansight GPU 服务器通信吗?(也许我们可以避免许可成本)
  • IF: Intel 编译器:Pam 的建议

    • Pam 发送了我们想要的协议修订版,每个人都同意吗?
    • IF 将转发给 Nikolay 以获得他的意见
  • IF: python 3.10 迁移:aarch64、ppc64le 怎么做?

    • Travis-CI 在圣保罗 worker 上宕机。

    • 选项

      • drone.conda-forge.org
      • 完全仿真
      • 交叉编译
        • PyPy
        • conda-smithy
    • ED - 我们可以根据 drone 许可证托管面向公众的 drone 服务器吗?是的,它是 apache2 许可的。

  • IF: 向 IBM 请求 ppc64le 资源?

  • IF: 在 python 3.10 迁移之前获取 https://github.com/conda/conda-build/pull/4287

    • IF - 由于此 PR,需要重建软件包。现在是放入它的好时机,因为迁移。重建约 25% 的软件包,所以在迁移开始之前放入它很好。
    • MRB - 我们是否需要将任何与 pip 相关的东西放入 conda-build 版本中?
  • JRG: menuinst CEP https://github.com/conda/ceps/pull/8 (仅与 CF 略有关系 :] )

  • CHL: anaconda.org 是否需要任何更新/改进?

    • 支持 .conda 软件包
    • (IF): 修改说明的能力
    • (IF): 标签的 repodata 补丁
    • (MRB): 更快的 CDN 同步

议程 2021-10-06

常设事项

  • 在通话中为新人介绍

  • (FF) 预算

    • 当前的审批?
    • 每当更新的数字出现时,请屏幕共享并展示预算。
      • 链接在 Keybase 中 (numfocus_spreadsheets.txt)
  • 公开投票

来自之前会议

  • (IF) Python 3.10

    • conda 问题 - https://github.com/conda/conda/issues/10969
    • 如何允许旧的 conda 用户失败?
      1. 让他们自己发现
      2. 添加 __conda 虚拟软件包,并让 python=3.10 软件包依赖于 __conda>=4.10.3
      3. 符号链接 lib/python3.1 -> lib/python3.10
    • TODO 新的 python 构建,执行符号链接(上面的选项 #3)
    • Py3.10 相关修复将合并到下一个 conda 次要版本中
  • (CJ 通过 MRB) 更可重现的构建?

    • CJ:认为非常接近了
    • 受此博客文章的启发: https://hpc.guix.info/blog/2021/09/whats-in-a-package/
    • 将 azure 构建日志嵌入到软件包中
    • 嵌入哪个构建系统
    • feedstock 的 git 哈希值?
    • 关闭强制推送到 feedstock
    • 需要一种方法来强制构建/主机/测试环境相同
    • (IF): 参见 https://github.com/conda/conda-build/issues/2140
    • 可能的 TODO
      • 将构建的源代码存储在某处
      • 将构建的日志存储在某处,可能以软件包名称为键?
        • 以及 info.json 的部分内容 -- 有时我们对不同的构建使用相同的文件名
      • 存储构建/主机/测试环境的 conda-locks
    • 注释
      • 透明度 vs 可重复性 vs 可再现性

      • 出处 != 可再现性

      • (Eric) 透明度+可重复性 > 可再现性

您的() 议程项目

  • (WV) 受 gitter 上对话的启发:在 conda-forge 中更多地使用 mamba

    • mamba install ... 添加到 feedstock readme
    • 允许从 mambabuild 上传
    • 通往 boa recipes 的道路?
    • TODO
      • PR 到 conda-smithy,添加一些标志以允许用户启用 mamba debug 和 mamba build&upload
  • (CB) NumFocus 修正案

  • (IF) aarch64 构建

    • cloud.drone.io 很慢
    • 我们从 Oracle 那里获得了 3000 美元的积分,为期一年
      • 足够 8 个 runner,每个 runner 有 4 个 vCPU 和 24 GB 内存,为期一年
    • 选项
      1. 托管我们自己的 drone 服务器/runner
      2. 托管我们自己的 azure agents
      3. 交叉编译
        • 使用 qemu 进行测试
        • pypy 构建
      4. 仿真

推迟到下次会议

正在进行的投票

CFEPs

  • cfep-12 删除违反源软件包条款的软件包
    • 自 2020 年 5 月 26 日以来停滞不前
    • 关于移动到 “broken” 与从 conda-forge 频道删除的积极辩论
    • 正在进行的投票,于 2020-03-11 结束
    • 投票结果是什么?
    • 我们是否收到了 NumFOCUS 的回复?他们做了法律研讨会,并已录制

待办事项

2021-10-18

2021-09-22

  • (MRB) travis 事项的更新

    • TODO:撰写博客文章以提高透明度。需要为此找到负责人(Matt 可以在十月底)
  • (MRB) master 到 main 的移动 (https://github.com/conda-forge/conda-forge.github.io/issues/1162)

    • 除了 feedstocks、releases、conda-smithy 和我们的 github actions 之外,一切都已完成
      • releases 已损坏,已向 github 提交问题
    • feedstocks 的一些选项
      • 确保更改 branch 上的 upload 密钥
    • (MRB) 发布关于如何更新本地克隆的公告(已移至上面的问题)
    • (MRB) 确保更新 upload_on_branch(已移至上面的问题)

2020-11-18

  • (IF/MRB/MV) intel oneAPI
    • 待办事项
      • (Nikolay) opencl_rt 的许可
      • (Nikolay) intelmpi ABI 与 mpich 的兼容性
      • (MRB/IF) 弄清楚如何准确打包 C/C++ 编译器
      • (MRB/IF) 考虑 fortran ABI
      • (MRB) 创建 conda-forge 编译器房间(添加包括 keith 在内的人员)
  • (MB) 要求核心成员转为 “名誉退休” 状态
    • TODO:Eric 为所有核心成员设置季度检查,以查看他们是否有兴趣保持 “活跃” 状态,或者是否想转为名誉退休
      • 从各种凭据(API 令牌、twitter 密码等)中删除名誉退休人员的访问权限?这将需要更改治理文档。

2020-11-11

  • TODO:考虑引入 JOSS,以提供关于我们如何最好地撰写论文的背景信息

2020-11-03

  • TODO:检查 Forrest Watters 的核心权限
  • (FF) Outreachy 将花费 6500 美元。
    • 下一步:撰写摘要并对资金支出进行投票。

2020-10-28 2020-10-21

  • (Marius?) Python 2.7 迁移
    • ( ) [ ] 做出提示
    • ( ) [ ] 发布公告
    • ( ) [ ] 将提示设为 lint

2020-10-07

  • 确保将 NVBug 信息添加到 conda-forge 制作的 cudatoolkit 软件包中(如果我们制作一个)

2020-09-09

2020-08-26 Docker hub

  • (JK) 检查 Azure 构建 workers 以查看它们是否具有 docker hub 限制。
  • (JK) 与 dockerhub 合作,看看我们是否可以获得 OSS 状态
    • 在某个时候再次检查。截至 2020-09-23,我们尚未收到回复

OVH

  • 在某个时候在 twitter 上大声疾呼。“感谢 OVHCloud 提供 VM” 等。(也许在我们使用它在 windows 上发布 qt 之后?)

  • 弄清楚如何将重大更改传达给用户。可能应该立即打开一个问题以供进一步讨论。Ping @kkraus,加上从这些会议记录中进一步捕获的注释

  • John K. 将更新 git 仓库上的 cuda toolkit feedstock,以记录 NVBug 链接到 NVIDIA 内部问题跟踪器

  • Jonathan 将更新文档,以记录一些非详尽的软件包列表(如 cuda-toolkit、MKL 等)

  • Jonathan 将审查此 PR

  • (Kale) 安排 conda 工作组

  • cfep-10 下一步:CJ 调用投票以征求反馈

  • cfep-06 下一步:要求 staged recipes 团队支持此 CFEP 并推动其前进

  • jakirkham & CJ-wright 同步关于将 CUDA 添加到迁移 bot

  • (Eric) 安排 Anaconda <-> conda-forge 在 anaconda.org 上的需求收集同步

    • 将尝试在下个月安排此计划。
  • (Anthony) 联系 NumFocus 以弄清楚不包含文件中许可证的法律后果。

  • (Eric) 在内部检查社区酒店和飞行人员的资金水平?

  • (Eric) 弄清楚 conda-forge 的财务状况以支持自己?

  • (jjhelmus) 打开 CFEP 以了解我们将要支持哪些 python 版本

  • (jakirkham) 撰写一篇关于我们今天讨论的 CUDA 事项的博客文章

  • (jakirkham) 更新关于如何向 feedstocks 添加 CUDA 支持的文档

  • (jakirkham) 将在 conda-smithy 上打开一个问题以调查 Drone 问题。(ping aarch 团队)

  • (ED) 我们是谁页面?FAQ 和每个人是谁的某种组合。FAQ 诸如

    • CF <> Anaconda、CF <> NumFocus、CF <> Azure 的 POC 是谁
    • 各个子团队的 POC 是谁
    • 非正式信息:角色、日常工作、个人简介、所有信息、您为什么在这里等等。
    • 公开还是内部?我真的不在乎哪种方式。有人强烈地感到其中一种方式吗?
    • 选择加入公开简介
    • 软件木工有很多讲师,并且有 https://carpentries.org/instructors
    • 对 “又一个地方来保持更新” 的一些担忧
  • (ED) 记录使用 conda-forge 的可重现环境的策略

  • (UK) 静态库事项

    • 向构建添加 linting 提示以找到它们
    • 推荐如何打包它们 -> CFEP-18
    • 我们应该编写文档说我们不提供支持,这是一个坏主意。 -> CFEP-18