标签: parallel-processing

Java如何使用多个内核?

JVM在单个进程中运行,JVM中的线程共享属于该进程的堆.那么JVM如何利用多个内核来提供多个操作系统线程以实现高并发?

java parallel-processing multithreading

65
推荐指数
4
解决办法
8万
查看次数

SLURM`srun` vs`sbatch`及其参数

我试图了解SLURM srunsbatch命令之间的区别.我会对一般性解释感到满意,而不是对以下问题的具体答案,但这里有一些具体的混淆点,可以作为一个起点,并让我知道我在寻找什么.

根据文件,srun是提交工作,sbatch是为了提交工作以供以后执行,但实际差异对我来说不清楚,他们的行为似乎是一样的.例如,我有一个包含2个节点的集群,每个节点有2个CPU.如果我srun testjob.sh &连续执行5x,它将很好地排队第五个作业,直到CPU变为可用,就像执行一样sbatch testjob.sh.

为了使问题更具体,我认为一个好的起点可能是:我可以用一个我不能用另一个做的事情做什么,为什么?

两个命令的许多参数都是相同的.似乎最相关的那些是--ntasks,--nodes,--cpus-per-task,--ntasks-per-node.这些是如何相互关联的,它们对于srunvs有sbatch什么不同?

一个特别不同的是,srun将导致一个错误,如果testjob.sh没有执行权限,即chmod +x testjob.shsbatch会开心地运行它."引擎盖下"发生了什么导致情况如此?

该文档还提到srunsbatch脚本中常用的文档.这导致了一个问题:它们如何相互作用,以及它们之间的"规范"用例是什么?具体来说,我会独自使用srun吗?

parallel-processing jobs scheduler slurm sbatch

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

无状态系统和有状态系统之间有什么区别,它们如何影响并行性?

解释无状态系统和有状态系统之间的差异,以及状态对并行性的影响.

parallel-processing

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

使用%dopar%时如何打印

我有一个foreach使用循环%dopar%使用doSNOW作为后端.如何在每次迭代中打印循环?

我下面的代码是我目前使用的,但它不打印任何东西.

foreach(ntree=rep(25,2),.combine=combine,.packages='randomForest',
    .inorder=FALSE) %dopar% {
        print("RANDOM FOREST")
        randomForest(classForm,data=data,na.action=na.action,do.trace=do.trace,ntree=ntree,mtry=mtry)
    }   
Run Code Online (Sandbox Code Playgroud)

parallel-processing foreach r

63
推荐指数
4
解决办法
3万
查看次数

是否有一个简单的基于进程的python并行映射?

我正在为python寻找一个简单的基于进程的并行映射,即一个函数

parmap(function,[data])
Run Code Online (Sandbox Code Playgroud)

这将在不同进程上的[data]的每个元素上运行函数(好吧,在不同的核心上,但是AFAIK,在python中在不同核心上运行东西的唯一方法是启动多个解释器),并返回结果列表.

这样的事情存在吗?我想要一些简单的东西,所以一个简单的模块会很好.当然,如果不存在这样的事情,我会选择一个大型图书馆: - /

python parallel-processing smp

62
推荐指数
4
解决办法
3万
查看次数

你是如何利用Multicore的?

作为来自企业Web开发世界的HPC世界中的某个人,我总是很想知道回到"现实世界"的开发人员如何利用并行计算.现在所有芯片都在进行多核处理,这就更加重要了,当芯片上有数千个内核而不是少数内核时,它会更加相关.

我的问题是:

  1. 这对您的软件路线图有何影响?
  2. 我对关于多核如何影响不同软件领域的真实故事特别感兴趣,因此请说明您在答案中做了哪种开发(例如服务器端,客户端应用程序,科学计算等).
  3. 您正在使用现有代码来利用多核计算机,以及您面临的挑战是什么?您使用的是OpenMP,Erlang,Haskell,CUDA,TBB,UPC还是其他什么?
  4. 当并发级别继续增加时,您打算做什么?您将如何处理数百或数千个内核?
  5. 如果您的域名容易从并行计算中受益,然后解释为什么是有趣的.

最后,我将此视为一个多核问题,但随意谈论其他类型的并行计算.如果您正在移植部分应用程序以使用MapReduce,或者如果大型集群上的MPI是您的范例,那么也要明确提及.

更新:如果您回答#5,请提及您是否认为如果有更多内核(100,1000等)可以改变,而不是可以提供可用内存带宽(看看每个内核带宽越来越小) ).您是否仍可以将剩余的核心用于您的应用程序?

parallel-processing concurrency scalability multicore

61
推荐指数
7
解决办法
7356
查看次数

新的C#5.0'async'和'await'关键字是否使用多个核心?

添加到C#5.0语言的两个新关键字是asyncawait,它们同时协同工作以异步运行C#方法而不会阻塞调用线程.

我的问题是,这些方法实际上是利用多个核并并行运行还是异步方法在与调用者相同的线程核心中运行?

c# parallel-processing asynchronous multicore c#-5.0

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

mpi:阻塞与非阻塞

我无法理解阻止MPI中的通信和非阻塞通信的概念.两者有什么不同?有哪些优点和缺点?

谢谢!

parallel-processing cluster-computing mpi

60
推荐指数
5
解决办法
5万
查看次数

自动设置多核机器的作业(-j)标志?

我在一台拥有大量核心的机器上有一个Makefile,但是-jX在编译我的项目时我似乎总是忘记编写它需要的时间比它应该的长.

有没有什么方法可以-j通过环境变量或其他一些持久性配置文件设置标志,以便make在这台机器上自动并行执行多个作业?

parallel-processing makefile build-script

59
推荐指数
6
解决办法
4万
查看次数

为什么Haskell中没有隐式并行性?

Haskell功能强大且纯粹,所以基本上它具有编译器能够处理隐式并行性所需的所有属性.

考虑这个简单的例子:

f = do
  a <- Just 1
  b <- Just $ Just 2
  -- ^ The above line does not utilize an `a` variable, so it can be safely
  -- executed in parallel with the preceding line
  c <- b
  -- ^ The above line references a `b` variable, so it can only be executed
  -- sequentially after it
  return (a, c)
  -- On the exit from a monad scope we wait for all computations to …
Run Code Online (Sandbox Code Playgroud)

parallel-processing concurrency haskell compiler-optimization

57
推荐指数
3
解决办法
4487
查看次数