C++高性能并行编程与优化 - 课件 - 09 CUDA C++ 流体仿真实战## CUDA C++ 流体仿真实战 by 彭于斌 (@archibate) 往期录播:https://www.bilibili.com/video/BV16b4y1E74f 课程 PPT 和代码:https://github.com/parallel101/course ## CUDA 纹理对象 https://docs.nvidia.com/cuda/cuda-c-programming-guide/index checkCudaErrors(cudaDestroyTextureObject(m_cuTex)); } ## 烟雾仿真系统:封装 - 我们统一通过 unique_ptr 来管理对象,这样尽管 CudaSurface 对象是不可移动的,我们仍可以通过移动其指针的方式来实现双缓冲(std::swap)。 struct ## 对流部分 ## 对流部分:计算对流后位置(RK3) - 这里我参考了 Taichi 官方案例中的 stable_fluid.py 代码(二维定常流仿真),主要由 k-ye 编写,我学习 GAMES201 后贡献了支持 RK2 和 RK3 的版本。这里我们用高效的 CUDA 纹理对象在 C++ 中重新实现了一遍,利用了硬件的三线性插值实现半拉格朗日0 码力 | 58 页 | 14.90 MB | 2 年前3
Blender v3.6 参考手册(简体中文版)物体 结构 基本体 选择 多重帧 属性 修改器 视觉效果 材质 动画 模式 动画 & 绑定 简介 关键帧 ⾻架 晶格 约束 动作 驱动程序 标记 形态键 运动路径 物理 简介 刚体 布料 软体 流体 粒⼦系统 动态绘画 ⼒场 碰撞 烘焙物理模拟 模拟节点 渲染 简介 Eevee Cycles ⼯作台 摄像机 灯光 材质 着⾊节点 ⾊彩管理 Freestyle 层 & 通道 渲染输出 合成 简介 :BeOS和PPC版发布。 1.80 – 2000年6⽉ :取消C-key,Blender再次完全免费。 2.00 – 2000年8⽉ :互动3D和实时引擎。 2.10 – 2000年12⽉:新引擎,物理仿真,还有Python。 2.20 – 2001年8⽉ :⾓⾊动画系统。 2.21 – 2001年10⽉ :Blender Publisher发售。 2.2x – 2001年12⽉ :macOS版。 Blender转为开源 37 -- 2005年6⽉: 变换⼯具和窗⼜⼩部件、 软体、 ⼒场、 挠度、 增强细分曲⾯、 透明的阴 影和多线程渲染。 2.40 -- 2005年12⽉: ⾻架系统重新改写,形态键,⽑发粒⼦,流体和刚体。 2.41 -- 2006年1⽉: ⼤量修复,和⼀些游戏引擎功能。 2.42 -- 2006年7⽉: 节点发布、阵列修改器、⽮量模糊、新物理引擎、 渲染、⼜型同步和许多 其他功能。此次发布紧随0 码力 | 4850 页 | 304.16 MB | 2 年前3
Blender v3.4 参考手册(简体中文版)- 动作 - 驱动程序 - 标记 - 形态键 - 运动路径 - 物理 - 简介 - 刚体 - 布料 - 软体 - 流体 - 粒子系统 - 动态绘画 - 力场 - 碰撞 - 烘焙物理模拟 - 渲染 - 简介 - Eevee - Cycles - 6x-1999年6月:BeOS和PPC版发布。 • 1.80 – 2000年6月:取消C-key,Blender再次完全免费。 • 2.00-2000年8月:互动3D和实时引擎。 • 2.10 – 2000年12月:新引擎,物理仿真,还有Python。 • 2.20-2001年8月:角色动画系统。 • 2.21 – 2001年10月:Blender Publisher发售。 • 2.2x - 2001年12月:macOS版。 进。 2.37 -- 2005年6月: 变换工具和窗口小部件、软体、力场、挠度、增强细分曲面、透明的阴影和多线程渲染。 2.40 -- 2005年12月: 骨架系统重新改写,形态键,毛发粒子,流体和刚体。 2.41 -- 2006年1月: 大量修复,和一些游戏引擎功能。 2.42 -- 2006年7月: 节点发布、阵列修改器、矢量模糊、新物理引擎、渲染、口型同步和许多其他功能。此次发布紧随0 码力 | 4571 页 | 265.39 MB | 2 年前3
Blender v3.3 参考手册(简体中文版)- 动作 - 驱动程序 - 标记 - 形态键 - 运动路径 - 物理 - 简介 - 刚体 - 布料 - 软体 - 流体 - 粒子系统 - 动态绘画 - 力场 - 碰撞 - 烘焙物理模拟 - 渲染 - 简介 - Eevee - Cycles - 发布。 • 1.80 – 2000年6月:取消C-key,Blender再次完全免费。 • 2.00 – 2000年8月:互动3D和实时引擎。 • 2.10 – 2000年12月:新引擎,物理仿真,还有Python。 • 2.20-2001年8月:角色动画系统。 • 2.21 – 2001年10月:Blender Publisher发售。 • 2.2x - 2001年12月:macOS版。 37 -- June 2005: 变换工具和窗口小部件、软体、力场、挠度、增强细分曲面、透明的阴影和多线程渲染。 ### 2.40 -- 2005年12月: 骨架系统重新改写,形态键,毛发粒子,流体和刚体。 ### 2.41 -- 2006年1月: 大量修复,和一些游戏引擎功能。 ### 2.42 -- 2006年7月: 节点发布、阵列修改器、矢量模糊、新物理引擎、渲染、口型同步和许多其他功能。此次发布紧随橘子项目。0 码力 | 4560 页 | 265.10 MB | 2 年前3
Blender v4.2.0 参考手册关键帧 - 骨架 - 晶格 - 约束 - 动作 - 驱动 - 标记 - 形态键 - 运动路径 - 物理 - 简介 - 刚体 - 布料 - 软体 - 流体 - 粒子系统 - 动态绘画 - 力场 - 碰撞 - 烘焙物理模拟 - 模拟节点 - 渲染 - 简介 - EEVEE - Cycles - 工作台 1999年6月:BeOS和PPC版发布。 • 1.80 – 2000年6月:取消C-key,Blender再次完全免费。 • 2.00 - 2000年8月:互动3D和实时引擎。 • 2.10-2000年12月:新引擎,物理仿真,还有Python。 • 2.20-2001年8月:角色动画系统。 • 2.21 – 2001年10月:Blender Publisher发售。 • 2.2x - 2001年12月:macOS版。 。 2.37 -- 2005年6月: 变换工具和窗口小部件、软体、力场、挠度、增强细分曲面、透明的阴影和多线程渲染。 2.40 -- 2005年12月: 骨架系统重新改写,形态键,毛发粒子,流体和刚体。 2.41 -- 2006年1月: 大量修复,和一些游戏引擎功能。 2.42 -- 2006年7月: 节点发布、阵列修改器、矢量模糊、新物理引擎、渲染、口型同步和许多其他功能。此次发布紧随橘子项目。0 码力 | 9945 页 | 286.32 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起GPU 专题:wrap 调度,共享内存,barrier 9. 并行算法实战:reduce,scan,矩阵乘法等 10. 存储大规模三维数据的关键:稀疏数据结构 11. 物理仿真实战:邻居搜索表实现 pbf 流体求解 12.C++ 在 ZENO 中的工程实践:从 primitive 说起 13.结业典礼:总结所学知识与优秀作业点评 ## 硬件要求: 64 位(32 位时代过去了) 至少 jpg)  • 主导 Zeno 节点仿真框架的开发(https://github.com/zenustech/zeno)  本课涵盖:稀疏矩阵、unordered_map、空间稀疏网格、位运算、浮点的二进制格式、内存带宽优化 面向人群:图形学、CFD 仿真、深度学习编程人员  第 0 章:稀疏矩阵 [Image](/uploads/documents/9/b/e/8/9be89f35442491e3b52b86402e3652be/p47_1.jpg) ## 垃圾回收 (garbage-collect) - 如果是运行的仿真,则液体可能会移动到别的地方去。这时液体曾经存在过的地方也仍然处于激活状态,可以每隔若干帧及时释放掉这些不用的指针块以节省内存。 void gc() { for (int x1 = 0; x1 bate::timing("main"); return 0; } ## 开源的体素处理库:OpenVDB - OpenVDB 的稀疏体积,可以存储符号距离场 (SDF),也可以存储烟雾仿真的结果等。 • 据张心欣说,OpenVDB 赢得了奥斯卡奖。 - 因为他经常用在影视特效中,主要是符号距离场有时比 mesh 处理起来方便很多。 :BeOS和PPC版发布。 1.80 – 2000年6⽉ :取消C-key,Blender再次完全免费。 2.00 – 2000年8⽉ :互动3D和实时引擎。 2.10 – 2000年12⽉:新引擎,物理仿真,还有Python。 2.20 – 2001年8⽉ :⾓⾊动画系统。 2.21 – 2001年10⽉ :Blender Publisher发售。 2.2x – 2001年12⽉ :macOS版。 Blender转为开源 2.37 -- 2005年6⽉: 变换⼯具和窗⼜⼩部件、 软体、 ⼒场、 挠度、 增强细分曲⾯、 透明的阴 影和多线程渲染。 2.40 -- 2005年12⽉: ⾻架系统重新改写,形态键,⽑发粒⼦,流体和刚体。 2.41 -- 2006年1⽉: ⼤量修复,和⼀些游戏引擎功能。 2.42 -- 2006年7⽉: 节点发布、阵列修改器、⽮量模糊、新物理引擎、 渲染、⼜型同步和许多 其他功能。此次发布紧随 其他功能。此次发布紧随 橘⼦项⽬。 2.43 -- 2007年2⽉: 多分辨率⽹格、 多层 UV 纹理、 多层图像和多通道渲染和烘焙,雕刻,多 个新增遮⽚,畸变和滤镜节点,建模和动画的改进,更好的多重笔刷绘 制、 流体粒⼦、 代理对象、 序列编辑器的重写,和后期 UV 贴图绘画。 2.44 -- 2007年5⽉: ⼤新闻,除了两个新的修改器和重新启动的 64 位操作系统⽀持外,增加了 次表⾯散射,模拟⽣物和软物体表⾯的光散射。0 码力 | 3958 页 | 204.42 MB | 2 年前3
2023年中国基础软件开源产业研究白皮书2、秦岭·翔语、CodeGeeX、鹏程·神农、空天·灵眸等50+大模型。MindSpore深耕学术应用,在加速科学实验、启迪算法发现及促进计算优化方面支撑我国科学计算深化发展,在电子制造、生物医药、流体领域做出“AI+科学计算”的创新成果。 ## MindSpore架构及能力特点 ## 原生支持AI大模型 完备的AI开发工具,高效支持大模型开发及训练  AI+科学计算 手机电磁仿真、化合物预训练模型、 飞机气动仿真 ## AI实验室一站式开发 ## Build-in套件 模型库 代码管理 数据集 简化AI开发流程 BERT MindFormers LSTM 图像分类 在线训练0 码力 | 43 页 | 4.69 MB | 2 年前3
C++高性能并行编程与优化 - 课件 - 05 C++11 开始的多线程编程GPU 专题:wrap 调度,共享内存,barrier 9. 并行算法实战:reduce,scan,矩阵乘法等 10. 存储大规模三维数据的关键:稀疏数据结构 11. 物理仿真实战:邻居搜索表实现 pbf 流体求解 12.C++ 在 ZENO 中的工程实践:从 primitive 说起 13.结业典礼:总结所学知识与优秀作业点评 ## 硬件要求: 64 位(32 位时代过去了) 至少0 码力 | 79 页 | 14.11 MB | 2 年前3
共 125 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13













