четвер, 3 липня 2014 р.

Паралельні обчислення в R.

Стандартно R проводить обчислення в один потік. Якщо у вас машина, яка має кілька ядер, це дуже неоптимально. Зробити паралелізацію між ядрами насправді надзвичайно просто. Звичайно, це має бути код, який може виконуватись паралельно. Свій MapReduce писати не потрібно, достатньо використовувати сімейство функцій apply та бібліотеку multicore (або parallel).
Приклад паралельних обчислень з multicore:
 Підключаємо бібліотеку:  
 library(multicore)  
 Визначаємо кількість ядер (якщо ви забули або не знаєте):  
 num_cores <- detectCores()  
 Застосовуємо apply:  
 mclapply(data, function, mc.cores = num_cores)  
Більше прочитати про паралельні обчислення в R можна тут: Parallel R.

Немає коментарів:

Дописати коментар