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替换为实际获得的计算节点的名称。
