Questions tagged «petsc»

PETSc是开放数据源的数据结构和例程套件,用于通过偏微分方程建模的科学应用的可扩展(并行)解决方案。

1
与PETSc并行求解简单的Ax = b系统
我是PETSc软件包的新手。 我有一个矩阵市场格式的〜4000x4000矩阵A,我想让PETSc使用多个处理器来解决这个问题。 我知道如何在单个处理器上求解系统,但是我不知道如何在不同处理器之间分配矩阵和向量。 有一套简单的说明可以做到这一点吗?
10 petsc  matrix 

3
推动GPU编程
我对GPGPU编程非常陌生,所以如果这个问题不是特别合适,请原谅我。据我了解,与通常的CPU编程相比,GPU编程是一项非常复杂的工程工作。必须注意发散性问题,切片,固定的内存分配以及主机设备通信/设备计算重叠。 经过一些研究后,我发现了推力库,它似乎试图模仿C ++ STL。很好 但是,基于我非常有限的经验,并且看到了获得良好性能所需的所有微观管理,我对性能有些怀疑。能否有效地内部处理所有复杂的编程部分?一些非常著名的库(例如PETSc)似乎使用了此软件包,这使我相信它应该以某种方式出现。 我想知道,与低级CUDA编程相比,对CUDA有更多经验和推力的人能否对软件包的性能说一两句话。什么时候可以使用推力?什么时候应该切换回CUDA?


3
周围是否有“轻量级”的FEM软件包?
基本上,FEM似乎是一个“已解决”的问题。现有许多强大的框架,例如Trilinos,PETSc,FEniCS,Libmesh或MOOSE。 它们的共同点是:它们非常“重”。首先,安装通常非常麻烦。其次,它们的接口/ API很繁琐-您必须将整个想法转化为相应库的思想。这也意味着很难满足特殊要求或现有代码的互操作性和可扩展性。 其他项目(例如随机示例)Boost,LibIGL,Aztec(线性求解器),Eigen或CGAL证明,绝对有可能编写功能强大的库,这些接口可以通过非常精简的界面无缝集成到C ++或Python代码中,而无需安装超重的框架。 FEM是否有真正轻巧的包装?我不是在寻找简单,自动的求解器-我是在寻找一个提供强大功能,同时保持精益接口,与常见数据结构(例如C ++ STL)互操作性以及轻量级安装(例如仅标题)的库。

1
求解Ax = b的无矩阵方法的预处理器
我需要解决Ax = b,但是我意识到即使它很稀疏,存储我的问题的矩阵系数也会占用太多内存。所以现在我正在考虑使用无矩阵方法,因为相同的系数在矩阵中出现的时间很多,所以我可以使用自己的私有存储方案(并通过提高缓存效率来实现)。 我正在看petsc,它为此类无矩阵线性运算符提供接口,但是我真正不了解的是,petsc如何计算前置条件?还是我应该提供自己的预处理器?如果是这样,是否有工具或方法可用于从无矩阵线性算子构建预处理器? 有关我的运算符的更多信息:它是不对称的,不是对角线占优势,而是由一些边带控制(但也不是对角线带状)

4
对于大的3维线性弹性问题,什么是鲁棒的迭代求解器?
我将深入研究迷人的有限元分析世界,并想解决一个大的热机械问题(仅热机械,无反馈)。→→\rightarrow 对于机械问题,我已经从Geoff的答案中了解到,由于网格的大小,我将需要使用迭代求解器。我在Matt的回复中进一步读到,选择正确的迭代算法是一项艰巨的任务。 我要问的是,在大型3维线性弹性问题上是否有任何经验可以帮助我缩小对最佳性能的搜索范围?在我的情况下,它是一种结构,具有薄的图案化薄膜和不规则放置的材料(高CTE和低CTE)。在热力学分析中没有大的变形。我可以使用大学的HPC [1.314节点,带有2个AMD Opteron处理器(每个2.2 GHz / 8核)]。 我认为其中PETSc可能包含一些有趣的东西,尤其是进行某种域分解(FETI,多重网格)的算法,但我对这些选择有些不知所措,没有经验。我也喜欢“几何通知的前置条件”一词,但是不确定这是否对我有帮助。我还没有找到关注线性连续体力学的东西。 在我的应用程序中,强大的缩放比例(Amdahl)非常重要,因为我的工业合作伙伴迫不及待要等待很长时间才能获得仿真结果。我绝对不仅赞赏答案,而且还提出建议,以便在评论中进一步阅读。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.