devito

用 Python 写方程,自动生成高性能有限差分代码

开源 🏷️完全免费 ✅ 目前可打开 基础设施 🍴 复刻 268 🐛 待处理 160 👀 关注 29
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 715
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,官网提供文档与下载入口

项目预览

devito 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类基础设施
开发团队devitocodes
定价模式🏷️完全免费
价格说明开源免费,官网提供文档与下载入口
访问状态✅ 目前可打开
是否开源是
开源协议MIT
主要语言Python
技术栈/模型code-generation,compiler,dsl,finite-difference,fwi,gpu,hpc,jit,performance,rtm,stencil,sympy,ultrasound-imaging
GitHub 星标★ 715
上线时间2016-03-23 00:00:00
代码更新2026-11-06
仓库体积313.1 MB
本站数据更新2026-11-06
维护状态活跃
收录时间2026-09-22
浏览次数1

项目介绍

Devito 是一个基于 Python 的领域特定语言(DSL)与编译器框架,专门用于自动生成有限差分和模板(stencil)计算的高性能代码。它解决的核心问题是:地球物理勘探、地震成像、超声成像等领域中,有限差分计算需要手写大量底层代码并针对 CPU/GPU 反复优化,开发效率低且难以移植。Devito 允许用户用接近数学公式的 SymPy 符号表达式描述偏微分方程,然后自动生成并 JIT 编译出经过优化的 C 代码,支持 OpenMP、MPI 和 GPU 后端。其核心能力包括符号化方程定义、自动模板优化(循环变换、向量化、共享内存分块)、跨平台代码生成,以及与 FWI、RTM 等地震成像工作流的集成。项目由帝国理工等团队维护,在 HPC 领域有实际生产应用。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-09-22 · 当前星标 ★ 715

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:进阶 约 35 分钟 部署方式:本地安装 4 步

环境要求

  • C 编译器
  • Python 3.10+
  • Docker(可选)

安装与启动步骤

  1. 1克隆

    先拉代码。

    git clone https://github.com/devitocodes/devito.git
  2. 2装依赖

    按仓库要求装编译环境。

    # 参考仓库安装说明
  3. 3用容器跑

    最省事是直接起容器。

    docker-compose up devito
  4. 4跑示例

    用内置示例验证代码生成。

    # 运行示例脚本

如何确认成功

示例能生成并执行优化后的内核代码。

注意事项

  • 它把差分算子编译成高性能代码。
  • 首次编译慢,之后有缓存。

核心亮点

  • 用 SymPy 符号表达式描述偏微分方程,自动生成优化后的 C 代码,大幅减少手写底层代码的工作量
  • 支持 CPU 多线程、MPI 并行和 GPU 后端,同一份 DSL 代码可跨平台运行
  • 内置模板计算优化(循环分块、向量化、时间阻塞),性能接近手工调优的 HPC 代码

不足之处

  • 主要面向有限差分和模板计算,通用性有限,不适合非结构化网格或有限元方法
  • GPU 后端支持相对 CPU 后端成熟度稍低,部分高级优化特性可能受限
  • 学习曲线较陡,需要理解符号计算和 HPC 优化概念,对非地球物理领域用户门槛较高

适用场景

  • 地震勘探中的全波形反演(FWI)和逆时偏移(RTM)成像
  • 超声成像和医学成像中的波传播数值模拟
  • 任何需要高性能有限差分求解偏微分方程的 HPC 场景

替代项目

FEniCS、PyTorch、Halide

上一篇:deequ

下一篇:awesome-hosting

同类项目推荐

Memori 开源

给 AI 装上持久记忆,让智能体不再失忆

Memori is agent-native memory infrastructure. A LLM-agnostic layer that turns agent ···

★ 17447 2026-08-09
aegea 开源

一条命令搞定AWS日常操作,告别繁琐控制台

Amazon Web Services Operator Interface

★ 69 2026-08-09
GPTCache 开源

给 LLM 加个语义缓存,重复问题秒回,省钱又提速

Semantic cache for LLMs. Fully integrated with LangChain and llama_index.

★ 8220 2026-08-09
llamafarm 开源

几分钟部署任意 AI 模型到本地或云端

Deploy any AI model, agent, database, RAG, and pipeline locally or remotely in minut···

★ 836 2026-08-09
rtp-llm 开源

阿里出品的高性能推理引擎,让LLM部署更快更省

RTP-LLM: Alibaba's high-performance LLM inference engine for diverse applications.

★ 1393 2026-08-09
EverOS 开源

给每个 AI 代理装一个随身记忆库,跨应用不忘事

One portable memory layer for every AI agent: local-first, Markdown-native, user-own···

★ 13839 2026-08-09
ai00_server 开源

一键部署 RWKV 模型,集成聊天、嵌入、RAG 和智能代理。

The all-in-one RWKV runtime box with embed, RAG, AI agents, and more.

★ 624 2026-08-09
hermes-labyrinth 开源

给 Hermes Agent 装上行车记录仪,看清每一步决策路径

Read-only observability plugin for Hermes Agent: journeys, crossings, guideposts, an···

★ 309 2026-08-09