2013-05-29 33 views
11

Tôi hiểu multicore không được chấp nhận kể từ phiên bản R 2.14 và tôi được khuyên nên bắt đầu sử dụng gói parallel được tích hợp vào cơ sở R 3.0.Ngưng sử dụng đa lõi (mclapply) trong R 3.0

Đi qua các tài liệu của parallel, tôi thấy rằng có chủ yếu là hai chức năng gọi parallelcollect ví dụ:

p <- parallel(1:10) 
q <- parallel(1:20) 
collect(list(p, q)) # wait for jobs to finish and collect all results 

Vì tôi không phải là rất quen thuộc với các chi tiết của tính toán song song, tôi ve luôn sử dụng multicore'smclapply ngoài hộp trong mã của tôi. Tôi tự hỏi làm thế nào tôi có thể tận dụng lợi thế của gói parallel mới tương tự như mclapply.

Cheers

+6

'parallel' có riêng' mclapply() 'chức năng của nó mà, theo như tôi biết, phải là một thả thay thế cho' đa lõi :: mclapply() ' –

+0

Ah! Thật sự cảm ơn! – by0

Trả lời

11

Như đã đề cập bởi @Ben Bolker, các mclapply hiện nay tích hợp vào cơ sở R như của 3.0. Chỉ cần tải gói parallel. Không cần phải có multicore

require(parallel) 
mclapply(1:30, rnorm) 
Các vấn đề liên quan