标签: supercomputers

21
推荐指数
2
解决办法
2万
查看次数

Raspberry Pi集群,神经元网络和大脑模拟

由于RBPI(Raspberry Pi)具有非常低的功耗和非常低的生产价格,这意味着可以构建一个非常大的集群.我不确定,但是一个100000 RBPI的集群会占用很少的电力和很少的空间.

现在我认为它在FLOPS或其他类型的计算测量方面可能没有现有的超级计算机那么强大,但它能否允许更好的神经网络模拟?

我不确定是否说"1 CPU = 1神经元"是一个合理的陈述,但似乎足够有效.

那么它是否意味着这样的聚类对神经网络模拟更有效,因为它比其他经典聚类更加平行?

arm cluster-computing supercomputers raspberry-pi

14
推荐指数
1
解决办法
1万
查看次数

是什么导致了我的随机:“joblib.externals.loky.process_executor.TermulatedWorkerError”错误?

我正在进行基于 GIS 的数据分析,其中计算广域全国预测图(例如天气图等)。因为我的目标区域非常大(整个国家),所以我使用超级计算机(Slurm)和并行化来计算预测图。也就是说,我将预测图分成多个部分,每个部分都在自己的进程中计算(令人尴尬的并行进程),并且在每个进程中,使用多个 CPU 核心来计算该部分(地图部分进一步拆分为更小的部分)对于 CPU 核心)。

我使用 Python 的 joblib-library 来利用我可以使用的多个核心,并且大多数时候一切都运行顺利。但有时,大约有 1.5% 的概率,我会收到以下错误:

Traceback (most recent call last):
  File "main.py", line 557, in <module>
    sub_rasters = Parallel(n_jobs=-1, verbose=0, pre_dispatch='2*n_jobs')(
  File "/root_path/conda/envs/geoconda-2021/lib/python3.8/site-packages/joblib/parallel.py", line 1054, in __call__
    self.retrieve()
  File "/root_path/conda/envs/geoconda-2021/lib/python3.8/site-packages/joblib/parallel.py", line 933, in retrieve
    self._output.extend(job.get(timeout=self.timeout))
  File "/root_path/conda/envs/geoconda-2021/lib/python3.8/site-packages/joblib/_parallel_backends.py", line 542, in wrap_future_result
    return future.result(timeout=timeout)
  File "/root_path/conda/envs/geoconda-2021/lib/python3.8/concurrent/futures/_base.py", line 439, in result
    return self.__get_result()
  File "/root_path/conda/envs/geoconda-2021/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result
    raise self._exception
joblib.externals.loky.process_executor.TerminatedWorkerError: A worker process managed by the executor was unexpectedly terminated. This …
Run Code Online (Sandbox Code Playgroud)

python parallel-processing supercomputers slurm joblib

7
推荐指数
1
解决办法
5774
查看次数

这在小型超级计算机上是否实用?

我正在调查WEP,作为其中的一部分,我正在使用RC4算法.我正在试图决定是否可以写一个反表(虽然很大......我没有空间,我不打算写一个).为此,我决定检查前10个字节中有多少匹配输出.这将帮助我决定逆表的工作情况.

当然,64位RC4加密具有2 ^ 64个可能的密钥,因此这意味着进行~2 ^ 128比较.另外,每次比较必须生成10个字节,大约265个循环.(RC4初始化为256,字节本身为10).

开展业务:

在具有大约100个核心的超级计算机上,是否可以在20天内执行大约2 ^ 135次计算?

(20天是限制,直到我开始.我最终只有8,或者我最终可能会有400+,但我猜的是100个核心.)

如果它意味着什么,我的程序是用Java编写的.http://pastie.org/2118864

java supercomputers

6
推荐指数
1
解决办法
847
查看次数

在Bash中有效地计算浮点运算数十万次

背景

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

问题

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

$ bc
-bash: bc: command not found
Run Code Online (Sandbox Code Playgroud)

此外,我的首席科学家已经要求我为他写的所有代码都是Bash,因为他理解它,只需要很少调用外部程序来完成Bash无法做到的事情.例如,它不能做浮点运算,我需要能够添加浮点数.我可以在Bash中调用Perl,但这很慢:

$ time perl -E 'printf("%.2f", 360.00 + 0.25)'
360.25
real    0m0.052s
user    0m0.015s
sys     0m0.015s
Run Code Online (Sandbox Code Playgroud)

1/20秒似乎不是很长时间,但是当我必须在单个文件中进行100次此调用时,相当于处理一个文件大约需要5秒钟.当我们每6小时制作其中一个时,情况就不那么糟了.然而,如果这项工作被抽象为一项更大的任务,我们一次在大西洋盆地指出1,000次合成风暴,以便研究风暴强大或采取不同路径可能发生的事情,5秒迅速增长到只需要一个多小时来处理文本文件.按小时计费时,这会产生问题.

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

for FORECAST in $DIRNAME; do
    echo $HOURCOUNT"  "$WINDMAG"  "${FORECAST##*/} >> $FILENAME;
    HOURCOUNT=$(echo "$HOURCOUNT $INCREMENT" | awk '{printf "%.2f", $1 + $2}');
done
Run Code Online (Sandbox Code Playgroud)

我知道单个调用awk或Perl来循环遍历数据文件比调用目录中的每个文件一次快一百倍,并且这些语言可以轻松打开文件并写入它,但问题是我我正在来回收集数据.我已经在这三种语言中找到了很多资源(awk,Perl,Python),但是在将它们嵌入到Bash脚本中时却找不到多少资源.我能够得到的最接近的是使这个awk命令的shell:

awk -v HOURCOUNT="$HOURCOUNT" -v INCREMENT="$INCREMENT" -v WINDMAG="$WINDMAG" -v DIRNAME="$DIRNAME" -v FILENAME="$FILENAME" 'BEGIN{ for (FORECAST in DIRNAME) do
    ...
}'
Run Code Online (Sandbox Code Playgroud)

但我不确定这是正确的语法,如果是,如果它是最好的方法,或者它甚至可以工作.我已经在墙上撞了几天了,决定在插上电话之前先上网.

bash shell performance hpc supercomputers

6
推荐指数
1
解决办法
306
查看次数

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

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

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

其内容是什么。

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

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

我很困惑,谷歌上没有任何地方有明确的描述。请大家指点一下。

多谢。

filesystems nfs hpc supercomputers lustre

6
推荐指数
1
解决办法
6330
查看次数

PVM(并行虚拟机)库是否广泛用于HPC?

是否每个人都迁移到MPI(消息传递接口)或PVM仍然广泛用于超级计算机和HPC?

hpc mpi supercomputers pvm

4
推荐指数
2
解决办法
859
查看次数

如何在一个PBS作业提交中运行多个命令

我编写的代码只需1-4 cpus.但是当我在集群上提交作业时,我必须至少有一个节点,每个作业有16个核心.所以我想在每个节点上运行几个模拟我提交的每个作业.我想知道是否有办法在一个工作中并行提交模拟.

这是一个例子:我的代码需要4个cpus.我为一个节点提交作业,我希望节点运行我的代码的4个实例(每个实例都有不同的参数)来占用所有16​​个核心.

parallel-processing supercomputers qsub pbs torque

3
推荐指数
1
解决办法
2420
查看次数

对于BLAS 2,C vs Fortran

我有一个应用程序,我需要执行很多规范,点积,最重要的是矩阵向量乘法.

矩阵和向量是巨大的.矩阵维度趋于100000x100000

循环结构是:

while(condition)
/* usually iterations=dimension of matrix, so around 1 million iterations are *at least* required (if not more) */
matrix-vector multiplication
3 dot prods
2 norms
Run Code Online (Sandbox Code Playgroud)

我目前正在使用Intel Fortran和Intel MKL.用英特尔MKL重写英特尔C中的代码会有帮助吗?有没有人进行过任何形式的基准测试(尤其是DGEMV)?重写代码是一个很大的痛苦,但如果我有理由,我不会介意重写.

编辑:我错过了:矩阵尺寸是100000而不是一百万.相当严重的错误:|

是的,矩阵密集的,它需要密集.而且,它不是对称的,甚至不是正定的.我的算法是QMR的修改版本.

fortran linear-algebra supercomputers lapack

0
推荐指数
1
解决办法
578
查看次数

应用性能与峰值性能

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

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

谢谢

hpc supercomputers

0
推荐指数
1
解决办法
960
查看次数

SJF什么时候比FCFS差?

在同时处理大量任务的超级计算机的操作系统中,当SJF策略花费比FCFS策略更长时间时,是否存在等待时间度量的情况?

可以假设系统中存在多个核心.

operating-system multicore scheduled-tasks supercomputers

0
推荐指数
1
解决办法
263
查看次数