Přechod na parApply
Pro paralelní spouštění kódu pomocí balíčku parallel se pracovní postup skládá ze tří kroků.
- Vytvoř cluster pomocí
makeCluster(). - Proveď výpočet.
- Zastav cluster pomocí
stopCluster().
Nejjednodušší způsob, jak vytvořit cluster, je předat číslo funkci makeCluster(). Ta vytvoří cluster výchozího typu a spustí kód na daném počtu jader.
Objekt dd je datový rámec s 10 sloupci a 100 řádky. Následující kód používá apply() k výpočtu mediánů sloupců:
apply(dd, 2, median)
Pro paralelní spuštění stačí nahradit apply() funkcí parApply(). Argumenty jsou stejné, jen se na začátek přidá argument pro cluster.
Toto cvičení je součástí kurzu
Efektivní kód v R
Pokyny k cvičení
- Pomocí funkce
detectCores()vypiš do konzole počet dostupných jader. - Vytvoř cluster pomocí
makeCluster()s počtem jader nastaveným na 2. Výsledek ulož jakocl. - Přepiš výše uvedenou funkci
apply()naparApply(). Nezapomeň, že prvním argumentem musí být objekt clusterucl. - Zastav cluster pomocí
stopCluster().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Determine the number of available cores
___
# Create a cluster via makeCluster
cl <- makeCluster(___)
# Parallelize this code
apply(dd, 2, median)
# Stop the cluster
stopCluster(cl)