代码优化工具

MCP Hackathon Tuner 是一个用于优化C代码性能的工具,支持通过Docker容器和HTTP远程服务器运行,适用于代码性能调优和基准测试场景。

  • by william-dawson
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 william-dawson/mcp_autotune_hackathon

使用说明

MCP黑客马拉松调谐器

对于MCP黑客马拉松,我们选择了一个简单的例子,让LLM优化一些 流基准测试的代码。该代码用C编写,并带有相关的makefile 在文件夹中 benchmark。我们可以从拥有编译器之类的东西开始 调整gcc的标志。然后我们可以让它考虑一些实际的手 书面优化。

建筑

你可以构建docker容器: 构建Docker镜像:

docker build -t lj_benchmark .

然后通过键入来验证一切正常

python utils/test_mcp.py

连接到MCP客户端

如果有效,您可以修改 ~/.gemini/settings.json.确保使用 绝对路径。添加到 mcpServers 部分。

    "lj": {
      "name": "lj",
      "type": "stdio",
      "command": "docker",
      "args": [
        "run", "-i", "--rm", "lj_benchmark"
      ]
    }

对于claude代码,您可以将以下内容放入 .mcp.json 文件的 当前目录。

{
  "mcpServers": {
    "lj_benchmark": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "lj_benchmark"]
    }
  }
}

通过HTTP运行(远程服务器)

MCP服务器支持本地(stdio)和远程(HTTP)传输。

使用Docker:

docker run -p 8000:8000 lj_benchmark python3 server.py --transport http --host 0.0.0.0 --port 8000

使用奇点/Apptainer:

# Download the .sif file from GitHub Actions artifacts, then:
apptainer exec --pwd /app stream_benchmark_amd64.sif python3 server.py --transport http --host 0.0.0.0 --port 8000

对于ARM系统,使用 stream_benchmark_arm64.sif 相反。

与R-CCS云一起使用

连接到R_CCS云并以交互模式预订作业。

srun -p fx700 --ntasks=1 --cpus-per-task=48 --pty bash

启动服务器:

singularity exec --pwd /app stream_benchmark_arm64.sif python3 server.py --transport http --host 0.0.0.0 --port 8002

现在,在您计算机上的另一个终端中,再次连接到云计算机。

ssh -L 8002:fx01:8002 login.cloud.r-ccs.riken.jp

将fx01替换为实际获得的计算节点的名称。