随笔分类 -  并行&高性能计算

摘要:1. 简介 We can classify an integration method by its stability and computational effort. The y-axis represents the stability and x-axis represents the c 阅读全文
posted @ 2023-06-23 12:21 blogzzt 阅读(114) 评论(0) 推荐(0) 编辑
摘要:一、介绍 这篇文章介绍一个ODE solver的实现思路,可用于一阶线性系统的求解。 首先,找到一组ODE方程,可以从网上找算例,或者从comsol等软件中导出。 其次,用matlab来求解,看计算结果。 最后,自己实现一个ODE solver,并将结果与matlab的结果进行对比。 二、ODE方程 阅读全文
posted @ 2023-06-15 23:27 blogzzt 阅读(186) 评论(0) 推荐(0) 编辑
摘要:一、应用背景 Krylov 子空间方法就是在Krylov子空间中寻找近似解。 二、Krylov子空间 n是原始矩阵的维度,m为降阶后矩阵的维度,通常m<<n。 三、Arnoldi 过程: 计算Km 的一组正交 对应上述MGS过程的python代码: import numpy as np def ar 阅读全文
posted @ 2023-06-12 23:37 blogzzt 阅读(422) 评论(0) 推荐(0) 编辑
摘要:一、浮点数精度 Float 为单精度,内存中占 4 个字节,有效数位是 7 位。 double为 双精度,占 8 个字节,有效数位是 16 位。 二、常见错误 1. 不能存储全部有效数字 #include <iostream> int main() { float f{ 0.123456789f } 阅读全文
posted @ 2023-05-15 23:38 blogzzt 阅读(116) 评论(0) 推荐(0) 编辑
摘要:一、Task概念 Tasks are composed of:– code to execute– data environment– internal control variables (ICV) 并行程序会用一个线程按照程序代码的顺序生成任务; 在不附加何限制的情况下, 这些任务将放入到任务池 阅读全文
posted @ 2023-04-02 17:13 blogzzt 阅读(991) 评论(0) 推荐(0) 编辑
摘要:雷洪教授的《多核并行高性能计算OpenMP》一书中给出了程序优化的思路: 对串行程序进行并行优化建议遵循如下步骤: (1)分析串行代码中可并行化部分,尤其是密切关注程序的热点代码(热点循环、热点函数和热点子程序),这是并行优化中最重要的一个步骤。围绕程序的热点代码进行并行化是减小编程工作量、实现高效 阅读全文
posted @ 2023-04-02 15:44 blogzzt 阅读(133) 评论(0) 推荐(0) 编辑
摘要:Map是Eigen中一个非常有用却又很容易被忽略的类,可以用它避免很多不必要的内存拷贝,举个例子,你手头有一个std::vector<Eigen::Vector3d> pts的数据,你需要将这个数据转化成一个n*3的矩阵,以便进行后续的矩阵计算,你会怎么做? 最直接的想法是这样的: MatrixXd 阅读全文
posted @ 2022-12-13 23:26 blogzzt 阅读(297) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示