Speed Up Your Code with Parallel Programming
R programming language is a key part of the modern tech stack. But sometimes, R code takes a long time to run. The good news is that most modern computers have multiple processors. This course on parallel programming can help you speed up your code by harnessing the hardware you already have.
Learn the Key Concepts
In this course, you will systematically learn the key concepts of parallel programming. You will profile and benchmark common computations like bootstraps and function mappings. You will also learn to identify operations that can benefit from parallelization.
Use R Packages to Parrallelize Operations
As you progress, you’ll explore a suite of mature R packages (parallel, foreach, future). You will learn to use these packages to parallelize operations with lists, matrices, and data frames. Working through a variety of tasks, you will gain the skills to rein in the execution time of nested for loops. You will also learn how to monitor, debug, and resolve reproducibility issues of parallelized code.
Parallelize Your Existing Code
With these tools under your belt, you will be able to write parallelized code that runs significantly faster. By the time you finish, you’ll have the skills to parallelize and maintain existing code in a principled manner.
Introduction to Parallel ProgrammingFree
Learn to identify those pesky speed bottlenecks in your R code. You will run a classic numerical operation in parallel and learn to check if it helps!
Parallel and foreach
Use parallelism in R for a variety of situations while efficiently managing dependencies. Turn those slow loops into smooth-running machines!parLapply in real life50 xpRunning code on the cluster100 xpA parallel filter100 xpThe parallel apply family50 xpHealthcare spending with clusterMap()100 xpPopulation growth rates with mclapply()100 xpColumn operations with trading volumes100 xpUsing foreach50 xpLooping with foreach100 xpforeach with variables and packages100 xpAdvanced foreach operations50 xpIterate and filter100 xpNested foreach loops for price trends100 xp
Dive deep into the use of futures in parallel programming. Learn to process vectors, lists, and data frames in parallel, all the while keeping your code easy to maintain.Futures50 xpDelayed square roots50 xpFutures for advertisement targets100 xpFunding social sciences with futures100 xpMapping the future50 xpRanking stocks with furrr100 xpFurrr type specification100 xpAdvanced operations with furrr50 xpProcessing multiple inputs100 xpThe furrr configuration100 xpDo more with future_map()50 xpGrouped bootstrap of stock prices100 xpRow-binding future_map results100 xp
Troubleshooting in Parallel
Learn to manage memory for parallel processes. Make your code reproducible, and add efficient debugging to your parallel programming toolkit.Monitoring and managing memory50 xpMemory profile of parLapply()50 xpChunking the bootstrap100 xpReproducibility in parallel50 xpReproducible lottery results100 xpReproduce the bootstrap100 xpDebugging in parallel50 xpThe debugging steps100 xpDebugging correlations100 xpAdvanced debugging50 xpThe bootstrap error100 xpCatch modeling errors100 xpThat's a wrap!50 xp
In the following tracksR Developer