Zacznij terazZacznij za darmo

Przejście na parApply

Aby uruchamiać kod równolegle za pomocą pakietu parallel, podstawowy przepływ pracy składa się z trzech kroków.

  1. Utwórz klaster przy użyciu makeCluster().
  2. Wykonaj obliczenia.
  3. Zatrzymaj klaster przy użyciu stopCluster().

Najprostszy sposób na utworzenie klastra to przekazanie liczby do makeCluster(). Tworzy to klaster domyślnego typu, uruchamiający kod na tylu rdzeniach, ile podasz.

Obiekt dd to ramka danych z 10 kolumnami i 100 wierszami. Poniższy kod używa apply() do obliczenia median kolumn:

apply(dd, 2, median)

Aby uruchomić to równolegle, zamień apply() na parApply(). Argumenty tej funkcji są takie same, z tą różnicą, że jako pierwszy przyjmuje ona argument klastra – przed standardowymi argumentami apply().

To ćwiczenie jest częścią kursu

Wydajny kod w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj funkcji detectCores(), aby wyświetlić w konsoli liczbę dostępnych rdzeni.
  • Utwórz klaster przy użyciu makeCluster(); ustaw liczbę rdzeni na 2. Zapisz wynik jako cl.
  • Przepisz powyższą funkcję apply() jako parApply(). Pamiętaj, że pierwszym argumentem powinien być teraz obiekt klastra, cl.
  • Zatrzymaj klaster przy użyciu stopCluster().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod