Schleifen parallelisieren in R mit foreach

Schleifen haben einen schlechten Ruf in R: Sie gelten nicht zu unrecht als langsam. Oft ist es möglich, Schleifen zu vermeiden, etwa durch vektorisierte Funktionen, mit Funktionen aus der apply-Familie (wie lapply) oder mit map-Funktionen aus dem purrr-Paket. Manchmal wäre es jedoch recht aufwändig, R-Code so umzuschreiben, dass Schleifen eliminiert werden. Dann ist es nützlich, … „Schleifen parallelisieren in R mit foreach“ weiterlesen

R-Code parallelisieren bei unterschiedlichen Laufzeiten: clusterApplyLB()

In einem früheren Beitrag / Video nutzten wir die clusterApply()-Funktion, um R-Code zu parallelisieren. Wie sieht es aus, wenn sich die Laufzeiten der einzelnen Aufgaben deutlich unterscheiden? Zu Demonstrationszwecken stellen wir eine simple Aufgabe: Sys.sleep, das heißt „Pause machen“. In realen Anwendungen stehen hier dann Berechnungen / Datenoperationen, die unterschiedlich lange dauern. Vorbereitung der Parallelisierung … „R-Code parallelisieren bei unterschiedlichen Laufzeiten: clusterApplyLB()“ weiterlesen

R-Code parallelisieren mit parallel::clusterApply()

R-Code ist oft schnell zu schreiben, aber nicht immer schnell genug in der Ausführung. Eine Methode, dem abzuhelfen, besteht darin, R-Code zu parallelisieren, d. h. mehrere Prozessorkerne oder mehrere Arbeiter einzusetzen. Das parallel-Paket, das zur Base-R-Installation gehört, bietet mit der clusterApply()-Funktion eine elegante Möglichkeit. Parallelisierung: Vorgehen und Vorbereitung Ziel ist es, 200 Regressionsmodelle mit jeweils … „R-Code parallelisieren mit parallel::clusterApply()“ weiterlesen