Bắt đầu ngayBắt đầu miễn phí

Chuyển sang parApply

Để chạy mã song song bằng gói parallel, quy trình cơ bản có ba bước.

  1. Tạo một cluster bằng makeCluster().
  2. Thực hiện công việc.
  3. Dừng cluster bằng stopCluster().

Cách đơn giản nhất để tạo cluster là truyền một số vào makeCluster(). Cách này tạo một cluster kiểu mặc định, chạy mã trên từng đó lõi.

Đối tượng dd là một data frame với 10 cột và 100 hàng. Đoạn mã sau dùng apply() để tính trung vị theo cột:

apply(dd, 2, median)

Để chạy phần này theo kiểu song song, bạn thay apply() bằng parApply(). Các đối số của hàm này giống nhau, ngoại trừ việc nó nhận thêm đối số cluster đứng trước các đối số thường dùng của apply().

Bài tập này là một phần của khóa học

Viết mã R hiệu quả

Xem khóa học

Hướng dẫn bài tập

  • Dùng hàm detectCores() để in số lõi khả dụng ra console.
  • Tạo một cluster bằng makeCluster(); đặt số lõi sử dụng bằng 2. Lưu kết quả vào cl.
  • Viết lại hàm apply() ở trên thành parApply(). Nhớ rằng đối số đầu tiên giờ là đối tượng cluster, cl.
  • Dừng cluster bằng stopCluster().

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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)
Chỉnh sửa và Chạy Mã