标签: parallel-processing

有没有办法使bash作业控制安静?

在后台运行作业时,Bash非常冗长:

$ echo toto&
toto
[1] 15922
[1]+  Done                    echo toto
Run Code Online (Sandbox Code Playgroud)

由于我试图并行运行作业并使用输出,我想找到一种方法来沉默bash.有没有办法删除这个多余的输出?

unix parallel-processing bash shell

38
推荐指数
2
解决办法
9224
查看次数

使用>>将几个并行进程的输出传输到一个文件是否安全?

我正在从网上抓取数据,并且我有几个并行运行刮刀的过程.

我希望每个进程的输出最终都在同一个文件中.只要文本行保持完整并且不会相互混淆,行的顺序无关紧要.在UNIX中,我可以使用>>运算符将每个进程的输出管道传输到同一个文件吗?

unix parallel-processing concurrency pipe

37
推荐指数
4
解决办法
7950
查看次数

线程与并行,它们有何不同?

线程和并行之间有什么区别?

哪一个优于另一个?

parallel-processing multithreading

36
推荐指数
6
解决办法
3万
查看次数

Java是否支持多核处理器/并行处理?

我知道现在大多数处理器都有两个或更多内核,多核编程风靡一时.是否有在Java中使用它的功能?我知道Java有一个Thread类,但我也知道这在很长一段时间之后才开始流行.如果我可以在Java中使用多个内核,我会使用哪种类/技术?

java parallel-processing multithreading multicore

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

Java中的并行编程

我们如何在Java中进行并行编程?那有什么特别的框架吗?我们怎样才能使这些东西有效?

我会告诉你们我需要什么,认为我开发了一个网络爬虫,它从互联网爬行很多网站,一个系统爬行不会让事情正常工作,所以我们需要1000个系统来工作,如果这是我可以应用并行计算吗?你们能给我一个正确的例子吗?

java parallel-processing

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

python中的并行处理

什么是在python 2.7中进行并行处理的简单代码?我在网上找到的所有例子都很复杂,包括不必要的代码.

我怎么做一个简单的强力整数分解程序,我可以在每个核心(4)上计算1个整数?我的真实程序可能只需要2个核心,并且需要共享信息.

我知道parallel-python和其他库存在,但我想将库的数量保持在最低限度,因此我想使用thread和/或multiprocessing库,因为它们带有python

python parallel-processing

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

使用parallel的parLapply:无法访问并行代码中的变量

我最近有一台带有多个内核的计算机,我正在学习使用并行计算.我非常精通lapply并被告知parLapply工作非常相似.我虽然没有正确操作.似乎我必须明确地将所有内容放在其中parLapply以使其工作(即要使用的函数,变量等).使用lapply它从父环境读取,parLapply似乎不这样做.所以在我下面的例子中,我可以通过将所有信息放在里面来使一切工作,parLapply但如果我在用户定义的函数中使用它,我就无法明确地放入text.var其中parLapply.

library(parallel)
text.var <- rep("I like cake and ice cream so much!", 20)
ntv <- length(text.var)
gc.rate <- 10

pos <-  function(i) {
    paste(sapply(strsplit(tolower(i), " "), nchar), collapse=" | ")
}

lapply(seq_len(ntv), function(i) {
        x <- pos(text.var[i])
        if (i%%gc.rate==0) gc()
        return(x)
    }

)

#doesn't work
cl <- makeCluster(mc <- getOption("cl.cores", 4))
parLapply(cl, seq_len(ntv), function(i) {
        x <- pos(text.var[i])
        if (i%%gc.rate==0) gc()
        return(x)
    }

) …
Run Code Online (Sandbox Code Playgroud)

parallel-processing r

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

为什么并行包慢于使用apply?

我试图确定何时使用该parallel程序包来加快运行某些分析所需的时间.我需要做的一件事是创建矩阵,比较具有不同行数的两个数据帧中的变量.我问了一个关于在StackOverflow上做有效方法的问题,并在我的博客上写了关于测试的文章.由于我对最佳方法感到满意,因此我希望通过并行运行来加快这一过程.以下结果基于带有8GB RAM的2ghz i7 Mac.令我感到惊讶的是,特别是功能parallelparSapply比使用该apply功能更糟糕.复制它的代码如下.请注意,我目前只使用我创建的两个列中的一个,但最终想要同时使用它们.

执行时间http://jason.bryer.org/images/ParalleVsApplyTiming.png

require(parallel)
require(ggplot2)
require(reshape2)
set.seed(2112)
results <- list()
sizes <- seq(1000, 30000, by=5000)
pb <- txtProgressBar(min=0, max=length(sizes), style=3)
for(cnt in 1:length(sizes)) {
    i <- sizes[cnt]
    df1 <- data.frame(row.names=1:i, 
                      var1=sample(c(TRUE,FALSE), i, replace=TRUE), 
                      var2=sample(1:10, i, replace=TRUE) )
    df2 <- data.frame(row.names=(i + 1):(i + i), 
                      var1=sample(c(TRUE,FALSE), i, replace=TRUE),
                      var2=sample(1:10, i, replace=TRUE))
    tm1 <- system.time({
        df6 <- sapply(df2$var1, FUN=function(x) { x == df1$var1 })
        dimnames(df6) <- …
Run Code Online (Sandbox Code Playgroud)

parallel-processing r

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

data.table和并行计算

在这篇文章之后:R中的multicore和data.table,我想知道在使用data.table时是否有办法使用所有核心,通常按组进行计算可以并行化.似乎plyr允许通过设计进行此类操作.

parallel-processing r data.table

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

python dask DataFrame,支持(平凡可并行化)行适用?

我最近发现dask模块旨在成为一个易于使用的python并行处理模块.对我来说最大的卖点是它与熊猫一起使用.

在其手册页上阅读了一下之后,我找不到办法完成这个简单的可并行化任务:

ts.apply(func) # for pandas series
df.apply(func, axis = 1) # for pandas DF row apply
Run Code Online (Sandbox Code Playgroud)

目前,要在dask,AFAIK实现这一目标,

ddf.assign(A=lambda df: df.apply(func, axis=1)).compute() # dask DataFrame
Run Code Online (Sandbox Code Playgroud)

这是一种丑陋的语法,实际上比直接慢

df.apply(func, axis = 1) # for pandas DF row apply
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

编辑:感谢@MRocklin的地图功能.它似乎比普通的大熊猫慢.这是与熊猫GIL发布问题有关还是我做错了?

import dask.dataframe as dd
s = pd.Series([10000]*120)
ds = dd.from_pandas(s, npartitions = 3)

def slow_func(k):
    A = np.random.normal(size = k) # k = 10000
    s = 0
    for a in A:
        if a > 0:
            s += 1
        else:
            s …
Run Code Online (Sandbox Code Playgroud)

python parallel-processing pandas dask

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