Questions tagged «hpc»

高性能计算通常使用以群集或网格连接的大型计算机阵列。

12
C ++与Fortran for HPC
在我的计算科学博士学位程序中,我们几乎只在C ++和Fortran中工作。似乎有些教授更喜欢另一种。我想知道哪个在某些情况下是“更好”的,还是一个在另一个方面要比另一个更好。
56 hpc  fortran  c++  languages 

7
如果我希望将来的代码在petascale机器上运行,我应该投资哪种编程范例?
从对Top500的调查中可以很明显地看出,该行业正朝着处理核心呈指数增长的趋势发展。最大的超级计算机都使用MPI进行节点之间的通信,尽管似乎没有明显的节点上并行性趋势,并且使用最简单(但不一定是最有效)的方法将单个MPI进程映射到每个核心,自动来自编译器,OpenMP,pthreads,CUDA,Cilk和OpenCL的并行化。 我是维护和开发有潜力在世界上一些最大的超级计算机上使用的代码的一组科学家之一。假设开发人员时间有限,那么我该如何适应未来的发展,以便可以利用世界上功能最强大的计算机的性能?我应该对流程互连体系结构做出哪些假设?当我们进入众核时代时,将遭受哪些范式?在Petascale机器上是否可以在生产中使用分区的全球地址空间语言?


1
截至2013年末,CUDA与OpenCL
从程序员的角度来看,CUDA和OpenCL在2013年末之间如何比较?我的小组正在考虑尝试利用GPU计算。通过选择仅支持OpenCL但不支持CUDA的硬件,我们是否会大大限制自己? 具体来说,以下假设是否正确? CUDA中所有可能的功能在OpenCL中也可能 只要我们不使用库,给定的任务就不会很容易(或更难)地完成 CUDA的主要优势是库的可用性 两者都对所有三个主要平台(Win / OSX / Linux)都具有良好的支持。
34 hpc  gpu  cuda  opencl 

5
什么时候在云中构建集群比在我的实验室中为MD模拟构建集群便宜?
关于亚马逊EC2的计算集群费用$ 800- $ 1000(取决于占空比)每个物理CPU内核,在3年的时间。在我们的最后一轮硬件收购中,我的实验室以大约300美元的价格购买了与亚马逊集群非常相似的48个内核的硬件。 我在这里想念什么吗?在任何情况下,在云中为高CPU任务(例如分子动力学模拟)构建集群都具有经济意义吗?还是我总是最好自己建造和保姆当当机呢? (我应该提到,我的实验室不支付服务器机房的电费(至少不直接支付),但是即使有了这种好处,亚马逊似乎仍然非常昂贵)。


3
英特尔Fortran编译器:编译时的优化技巧
我将从我在实验室中的亲身经历开始。在ifort 9天和10天中,我们过去一直非常积极地进行优化,使用-O3和特定于处理器的标志(例如-xW -xSSE4.2)进行编译。但是从ifort 11开始,我们开始注意到: 1.结果中存在一些不一致之处(因为未保留语义) 2.与-O2相比,获得的收益较小。 因此,当前,我们通常仅使用-O2和-xhost进行编译。您是否对ifort 11有更好的建议?当我们过渡到ifort 12时,这种情况会再次改变吗?提前致谢。

5
并行科学计算软件开发语言?
我想从头开始开发并行科学计算软件。我想开始使用哪种语言。该程序涉及将数据读/写到txt文件中,并并行进行大量计算,并具有许多LU分解和使用稀疏线性求解器的功能。我在考虑的候选解决方案是带有OpenMP或协同阵列的Fortran 2003/2008,带有openmp cilk +或TBB的C ++,python。任何其他有文件记录的建议,我们都欢迎!我非常了解C,Fortran和Java(按此顺序)。我已经在python中完成了一些脚本编写工作,但是基本的东西。 我知道fortran很快,但是很难维护和并行化。据说C ++运行缓慢,除非您使用外部库等我喜欢的Python,但是在其上编写全面的工业级软件是否现实? 该软件需要能够处理大量数据并通过科学计算有效。性能至关重要。 对于背景,我已经有一个用Fortran编写的工作软件。许多人参与了很多年的开发,并且代码真的很脏。维护和并行化代码被证明是一场噩梦,我正在考虑其他选择。 佩特罗斯

4
当前可用的GPU是否支持双精度浮点运算?
我已经在包含24个Intel Xeon CPU的节点组成的Ubuntu Linux集群上运行了分子动力学(MD)代码GROMACS。我的兴趣点对浮点算术精度有些敏感,因此我不得不以双精度而不是单精度运行GROMACS-尽管双精度的计算成本较高。因此,在群集上,我以双精度方式编译了GROMACS。 我正在考虑购买一些GPU,因为可能会有相对于CPU的加速(“ GPU加速”)。但是,我需要一个可以执行双精度算术的GPU。您知道这样的硬件是否可以在市场上买到吗?一个在GROMACS邮件列表上最近的文章表明,双精度的GPU市场上不能获得: 硬件尚不支持[双精度算术],但AFAIK。 这个Wikipedia页面似乎暗示双精度GPU并不常见,因为它们可能效率不高: Nvidia GPU上的浮点实现大部分符合IEEE标准。但是,并非所有供应商都这样。这对正确性有影响,对于某些科学应用而言,正确性被认为很重要。虽然在CPU上通常可以使用64位浮点值(双精度浮点数),但GPU并不普遍支持这些值。有些GPU架构牺牲了IEEE遵从性,而另一些则完全缺乏双精度。已经进行了一些努力来在GPU上模拟双精度浮点值。但是,速度折衷首先抵消了将计算量卸载到GPU上的任何好处。 此NVIDIA的Tesla页,在图表中引用“峰值双精度浮点性能”,似乎表明,双精度计算可以,其实,做他们的GPU(虽然在更高的计算成本)。 那么,我应该相信什么?您对此问题有经验吗?

3
对数-对数并行缩放/效率图
我的许多工作都围绕使算法更好地扩展而展开,而显示并行扩展和/或并行效率的首选方法之一是在内核数量上绘制算法/代码的性能,例如 其中,轴表示核心数,轴表示某种度量,例如,每单位时间完成的工作。不同的曲线显示在64个磁芯上的并行效率分别为20%,40%,60%,80%和100%。XXxÿÿy 但不幸的是,在许多出版物,这些结果绘制了对数标度,例如在结果本或本文件。这些对数-对数图的问题在于,评估实际的并行缩放/效率非常困难,例如 与上面的图相同,但具有对数-对数缩放。请注意,并行效率为60%,80%或100%时,结果之间没有太大差异。我在这里对此进行了更广泛的写作。 所以这是我的问题:在对数对数缩放中显示结果有什么理由?我经常使用线性标度来显示自己的结果,并经常被裁判员锤击,说我自己的并行标度/效率结果看起来不如其他人的(对数-对数)结果,但在我的生命中,我无法看到为什么我应该切换绘图样式。

5
科学计算和HPC中Mac OS的状态
回顾OS X的曙光,至少在Mac世界中(当时我还远远没有到达科学计算领域),似乎有很多关于Mac OS作为科学计算和HPC应用程序平台的喧嚣。 XGrid开箱即用,Virginia Tech有他们花哨的基于Mac的计算集群,Stanford在做很棒的事情,等等。 但是最近,情况一直很安静。Macresearch.org网站本质上是一个充满垃圾邮件僵尸的幽灵小镇,XServe已死,而且大量的营销文献等似乎都来自英特尔之前的处理器领域。但是XGrid仍然存在,整个* nix OS的基础就在那里,并且该平台似乎在Python,R和某些更新的语言中得到了不错的支持。 那么,从比我更了解这件事的人那里... OS X的价格如何?它们是可行的用于科学计算的客户端计算机吗?正在将它们用作服务器/集群/等。通过XGrid或类似的东西仅仅是一个新颖的应用程序?
17 software  hpc 

3
具有HPC资源的桌面软件,用于处理后端号码
我们的工作组将生成一个桌面应用程序,该应用程序可模拟建筑的能源绩效。它是一个.NET应用程序,当用户运行大量仿真时,它们可能会非常耗时。这些模拟是完全可并行的,并且我们在“办公室”中拥有一些非常重要的HPC计算资源。 我们拥有的一个想法是允许用户卸载我们知道将运行很长时间的模拟(而每个单独的模拟运行大约30-120秒,运行大量的模拟可能需要几天的时间)。有人做过吗?如果是这样,您是否使用任何库来简化工作?值得付出努力吗? 编辑添加: 用于卸载模拟的各个任务是 打包文件(约5Mb), 将其上传到我们的服务器, 将包分解为单独的模拟(每个过程大约需要30-120秒,并且可以完全并行化),模拟的数量取决于用户选择的选项数量(绝缘,建筑物方向等)和最差的选择情况每个可能的选项都会导致大约1E50仿真。未知运行100到〜1E5仿真,但是大多数用户运行的数量少于10。 重新组装完成的仿真并下载更大的文件。 我们不确定要使用什么界面,因为我们的小组对此并不陌生,并且由于削减了预算,它可能会及时完成,但是需要易于其他人(如果有)进行维护。 该应用程序已经使用.NET 4,并且可以扩展为使用用户拥有的所有内核(我们的开发机具有8个内核)。
17 hpc  partitioning 

4
我应该租用计算资源还是购买自己的计算机
由于此问题与计算有关,因此我决定在此处发布。希望它将被认为是适当的。 我刚刚开始运行大气模型和海洋模型,并且意识到与当前的台式机相比,我需要更多的内核,内存和磁盘空间。我所在的机构拥有高性能的计算服务,研究人员可以按每月每个核心的固定价格租用核心。我的研究小组中没有人使用过这项服务,而是运行功能强大的机器来完成工作。但是,该部门中的其他几个研究小组会集中资金并利用计算服务。 现在,我需要决定是否购买具有60 GB RAM的新计算机,或者从计算服务中租用内核。在做出此决定时应考虑哪些因素?使用计算服务比购买专用计算机有什么优势?
16 hpc 

2
Boost :: mpi或C MPI用于高性能科学应用?
我最不喜欢MPI的一点是处理数据类型(即数据映射/掩码),因为它们与面向对象的C ++不太吻合。boost::mpi仅在其网站上支持MPI 1.1: boost :: mpi是标准消息传递接口的C ++友好接口……Boost.MPI可以使用Boost.Serialization库为用户定义的类型构建MPI数据类型。 有没有人boost::mpi对严肃的科学计算有任何经验?你会推荐吗?您是否遇到了任何问题(扩展问题,编译器问题,错误,未实现的功能,需要某些mpi 2.2功能)? 您能否评论使用boost::mpi而不是使用C ++中的MPI C实现?可以同时使用两者吗(可以的话,使用boost :: mpi,在其他地方使用C-MPI)? 您知道使用的任何大型科学代码boost::mpi吗?
16 hpc  c++  mpi 

4
用Callgrind分析CFD代码
我正在使用Valgrind + Callgrind对我编写的求解器进行分析。如Valgrind用户手册所述,我已经使用编译器的调试选项编译了代码: “没有调试信息,最好的Valgrind工具将能够做的就是猜测特定代码段属于哪个功能,这将使错误消息和性能分析输出几乎无用。使用-g,您将获得直接指向相关的源代码行。” Valgrind手册 使用调试选项进行编译时,代码的运行速度要慢得多。即使使用调试标志进行编译,即使在很小的情况下,CFD代码也会变得非常缓慢。Valgrind使其速度降低40倍(请参见手册1)。 您使用什么工具进行代码性能分析(性能分析,而不是基准测试)? 您允许代码运行多长时间(统计数据:多少个时间步长)? 大小有多大(如果大小写适合高速缓存,则求解器的速度要快几个数量级,但是我会错过与内存相关的过程)?
16 hpc 

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.