问题标签 [supercomputers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
76 浏览

caching - 与机器和忆阻器的数据局部性相关性?

初步评论:我不知道这是否是这个问题最好的堆栈交换网站。如果没有,我很抱歉,应该将其移至正确的网站。


最近,惠普谈到了一个基于忆阻器和光通信的名为The Machine的研究项目。目标不是讨论这个项目是否会在 4、10 或 20 年后成为现实。目的是讨论这样的计算机对计算密集型软件的设计意味着什么。

今天,我们的目标是超级计算机。在这种情况下,通常认为代码优化应该关注:

  • 混合并行化(MPI+线程)

  • 矢量化 (SIMD)

  • 数据局部性(与数据传输成本相比,计算是免费的)

我的问题是:如果像惠普提出的那种架构成为现实,它会改变这些优先级,尤其是第三个优先级吗?(即与计算时间相比,数据传输是否可以免费)

0 投票
3 回答
388 浏览

performance - 在 Bash 中高效计算数十万次浮点运算

背景

我在一家研究风暴潮的研究机构工作,我正在尝试使用 Bash 自动化一些 HPC 命令。目前,该过程是我们从 NOAA 下载数据并逐行手动创建命令文件,输入每个文件的位置以及程序从该文件读取数据的时间和风放大系数。NOAA 生成的每个下载文件中都有数百个这样的数据文件,当暴风雨进行时,这些文件每 6 小时左右出现一次。这意味着我们在风暴期间的大部分时间都花在制作这些命令文件上。

问题

我可以用来自动执行此过程的工具有限,因为我只有一个用户帐户和每月在超级计算机上分配的时间;我无权在它们上安装新软件。另外,其中一些是 Cray,一些是 IBM,一些是 HP,等等。它们之间没有一致的操作系统;唯一的相似之处是它们都是基于 Unix 的。所以我可以使用 Bash、Perl、awk 和 Python 等工具,但不一定有 csh、ksh、zsh、bc 等工具:

此外,我的首席科学家要求我为他编写的所有代码都在 Bash 中,因为他理解它,而对 Bash 无法执行的事情的外部程序调用最少。例如,它不能做浮点运算,我需要能够添加浮点数。我可以从 Bash 中调用 Perl,但这很慢:

1/20 秒似乎并不长,但是当我必须在一个文件中调用 100 次时,这相当于处理一个文件大约需要 5 秒。当我们每 6 小时只制作一个时,这还不错。然而,如果这项工作被抽象为一项更大的任务,我们将 1,000 场合成风暴一次指向大西洋盆地,以研究如果风暴更强或采取不同的路径会发生什么,5 秒很快就会增长到仅仅处理文本文件一个多小时。当您按小时计费时,这会带来问题。

问题

有什么好方法可以加快速度?我目前for在脚本中有这个循环(运行需要 5 秒的循环):

我知道一次调用 awk 或 Perl 来循环遍历数据文件比为目录中的每个文件调用一次要快一百倍,而且这些语言可以轻松打开文件并写入文件,但问题是我我正在来回获取数据。我已经找到了很多关于这三种语言(awk、Perl、Python)的资源,但是在将它们嵌入到 Bash 脚本中时却找不到那么多。我能做到的最接近的是制作这个 awk 命令的外壳:

但我不确定这是正确的语法,如果是,它是否是解决此问题的最佳方法,或者它是否会起作用。几天来,我一直在撞墙,并决定在插上电源之前先上网。

0 投票
1 回答
31 浏览

linux - 超级计算机中使用的核心频率的计算或假设是什么?

这些计算是什么让我们知道,应该使用某某频率来完成这项工作,其中可能包括天气预报或计算关键方程,就像超级计算机所做的所有事情一样。

0 投票
2 回答
1321 浏览

hpc - 应用程序性能与峰值性能

我对在集群上运行的实际应用程序性能与集群峰值性能有疑问。

假设一个 HPC 集群报告它的峰值性能为 1 Petaflops。这是如何计算的?对我来说,似乎有两个测量矩阵。一是基于硬件计算的性能。另一个来自运行HPL?我的理解正确吗?当我阅读在系统上运行的一个真实应用程序时,开发人员提到它可以实现 10% 的峰值性能。这是如何衡量的,为什么它不能达到最佳性能?

谢谢

0 投票
1 回答
948 浏览

opengl - 英特尔至强融核协处理器是否支持硬件级别的图形处理?

我将在具有大量处理器的大型计算机系统上进行一些渲染实验。该系统使用一些 Intel Xeon E5 处理器和 Intel Xeon Phi 协处理器。我已经阅读了 Xeon Phi 协处理器的文档和开发人员指南,但没有一个提到有关 OpenGL 或 DirectX 的详细信息。

我对 Xeon Phi 协处理器不熟悉,我想知道它是否支持 OpenGL 或 DirectX 进行硬件级别的图形处理。

0 投票
1 回答
525 浏览

multithreading - 对于超级计算机来说,每个处理器 128 个线程意味着什么?

这篇关于 YARC的文章提到超级计算机每个处理器有 128 个线程。

与超线程相同的概念吗,本质上cpu具有允许充当多个处理器的附加寄存器?

0 投票
2 回答
4417 浏览

filesystems - 什么是 HPC 中的暂存空间/文件系统

我正在研究 HPC 应用程序和并行文件系统。我遇到了临时空间和临时文件系统这个术语。

我无法想象这个暂存空间存在的位置。它是在计算节点上作为挂载的文件系统 /scratch 还是在主存储空间上。

它的内容是什么。

暂存空间是否独立于每个计算节点,或者两个或多个节点可以共享一个暂存空间。

所以假设我有一个文件 123.txt 我想并行处理。暂存空间将包含此文件的部分内容还是将复制整个文件。

我很困惑,谷歌上没有明确的描述。请指出一些。

多谢。

0 投票
1 回答
215 浏览

openmpi - 在 sun Grid Engine 中提交多个 mpirun 程序

我想知道如何在 Sun Grid Engine 的一个作业脚本文件中提交多个 mpirun 程序。

假设我已经编译了 program1、program2、program3 .. program100 并希望同时运行它们,以便每个作业脚本在一个作业脚本中使用 16 个 CPU,而无需制作 100 个作业脚本。

如何将节点分配给 Sun Grid 引擎中的每个程序?(我可以将 SGE 的主机文件分成 100 个并将它们提供给每个 mpirun 吗?)

谢谢你。

0 投票
1 回答
290 浏览

parallel-processing - 不同进程位置的 MPI 发送延迟

我目前正在参加关于超级计算机和多核处理器高效编程的课程。我们最近的任务是测量 MPI_Send 命令的延迟(即发送零字节消息所花费的时间)。现在仅此一项并不难,但我们必须根据以下标准执行我们的测量:

  • 同一处理器中的进程通信,
  • 相同的节点但不同的处理器,
  • 以及不同节点上的进程。

我想知道:我如何确定这一点?对于不同节点上的进程,我考虑过对 MPI_Get_processor_name 返回的名称进行哈希处理,该名称返回进程当前正在运行的节点的标识符,并将其作为标签发送。我还尝试使用 sched_cpu() 来获取核心 ID,但似乎这会返回一个递增的数字,即使核心是超线程的(因此进程将在同一个核心上运行)。我该怎么做?我只需要一个确定地点的概念!不是所述问题的完整代码。谢谢!

0 投票
1 回答
334 浏览

operating-system - When is SJF worse than FCFS?

In operating systems of supercomputers, which handles a big quantity of tasks at the same time, is there any situation when SJF policy is taking longer than FCFS policy, speaking of waiting time metric?

It can be assumed that more than one core are present in the system.