向量化分析编译器服务

一个专注于C/C++代码向量化分析的智能编译器MCP服务器,提供循环依赖检测、向量化失败分析和优化建议。

  • by qinx18
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 qinx18/compiler-mcp-server

使用说明

编译器MCP服务器

一个专注于C/C++代码矢量化分析的智能编译器MCP服务器。

特性

  • 循环携带依赖性检测
  • 矢量化故障分析
  • C/C++代码的优化建议
  • 有意义的汇编会议
  • MCP协议合规性
  • 实时编译反馈

快速开始

安装

# Install in development mode
make install-dev

# Or manually
pip install -e ".[dev]"
pre-commit install

发展

先决条件

  • Python 3.8+
  • GCC或兼容的C/C++编译器
  • Git

开发设置

# Clone and setup
git clone <repository-url>
cd compiler-mcp-server
make dev-setup

代码质量

本项目使用现代Python开发实践:

  • 类型检查:MyPy用于静态类型分析
  • 掉毛:Ruff用于快速Python linting
  • 格式化:黑色和Ruff用于代码格式化
  • 安全:Bandit用于安全漏洞扫描
  • 预提交钩子:自动质量检查
  • 测试:带覆盖率报告的Pytest
  • CI/CD:GitHub持续集成行动

可用命令

# Development workflow
make help              # Show all available commands
make quality           # Run all quality checks
make test              # Run tests with coverage
make lint              # Run linting
make format            # Format code
make type-check        # Run type checking
make security-check    # Run security analysis
make pre-commit        # Run pre-commit hooks
make clean             # Clean build artifacts
make build             # Build package

# Quick development cycle
make format lint type-check test

看 贡献.md 详细的开发指南。

用法

# Test mode
python solution_for_s1113.py --mode test

# Run as MCP server
python solution_for_s1113.py

OpenHands解析器设置

此存储库包含一个使用OpenHands的自动问题解决程序。要启用它,请执行以下操作:

  1. 设置GitHub机密 (在存储库设置>机密和变量>操作中):

    • PAT_TOKEN:具有回购权限的个人访问令牌
    • PAT_USERNAME:您的GitHub用户名
    • LLM_API_KEY:Claude或其他LLM服务的API密钥
    • LLM_MODEL:型号名称(例如。, anthropic/claude-3-5-sonnet-20241022)
  2. 启用工作流权限:

    • 前往“设置”>“操作”>“常规”>“工作流权限”
    • 选择“读写权限”
    • 启用“允许GitHub操作创建和批准拉取请求”
  3. 用法:

    • 添加 fix-me 为任何问题添加标签以自动解决
    • 或提及 @openhands-agent 在评论中

示例

The server can analyze code like this s1113 pattern:

for (int i = 0; i < LEN_1D; i++) {
    a[i] = a[LEN_1D/2 - i] + b[i];
}

And provide detailed feedback about why vectorization fails.