Inflearn brand logo image
Inflearn brand logo image
Programming

/

Programming Language

Lập trình CUDA (4) - Tính toán song song C/C++/GPU - Phép nhân ma trận

✅ Trong toàn bộ loạt bài (1) đến (6), (4) Nhân ma trận (mảng 2D) song song cùng lúc ✅ Giải thích từng bước lập trình NVIDIA GPU + CUDA từ cơ bản. ✅ Xử lý mảng/ma trận/hình ảnh/xử lý thống kê/sắp xếp,… được xử lý rất nhanh thông qua tính toán song song bằng ngôn ngữ C++/C.

(5.0) 4 đánh giá

153 học viên

CUDA
GPU
Parallel Processing
C++
C

Dịch cái này sang tiếng Việt

  • Chuỗi hoàn chỉnh - Tính toán song song lớn với CUDA trên GPU

  • Bài giảng này - Phần (4) - Nhân ma trận (mảng 2 chiều) song song

  • ✅Bộ phiếu giảm giá✳️ được cung cấp theo lộ trình "Lập trình CUDA"

Tốc độ của chương trình là rất quan trọng!
Làm nhanh chóng bằng các kỹ thuật xử lý song song quy mô lớn 🚀

Tôi nghe nói rằng tính toán song song trên diện rộng rất quan trọng 🧐

Điện toán song song quy mô lớn dựa trên GPU/card đồ họa được sử dụng rất tích cực trong AI, học sâu, xử lý dữ liệu lớn và xử lý hình ảnh/video/giọng nói. Và hiện nay, công nghệ được ứng dụng rộng rãi nhất trong tính toán song song GPU là kiến ​​trúc CUDA của NVIDIA.

Trong số các tính toán song song, các công nghệ như tính toán song song quy mô lớn và CUDA được cho là quan trọng, nhưng rất khó tìm được các bài giảng dạy lĩnh vực này một cách có hệ thống, khiến việc bắt đầu học cũng khó khăn. Học lập trình CUDA từng bước qua bài giảng này. CUDA hoặc tính toán song song đòi hỏi nền tảng lý thuyết và khó khăn. Nếu bạn theo dõi bài giảng này từ những điều cơ bản cùng với các ví dụ phong phú và giải thích kiến ​​thức nền tảng, bạn có thể làm được! Bài giảng này sẽ được thực hiện dưới dạng một loạt bài giảng và sẽ đảm bảo đủ thời lượng bài giảng.

Trong bài giảng này, chúng tôi sẽ giải thích cách các lập trình viên C++/C có thể kết hợp thư viện CUDA và các hàm C++/C để tăng tốc các vấn đề trong các lĩnh vực khác nhau bằng cách sử dụng các kỹ thuật xử lý song song ồ ạt . Thông qua phương pháp này, bạn có thể tăng tốc các chương trình C++/C đã được phát triển hoặc phát triển các thuật toán/chương trình mới bằng cách sử dụng tính toán song song hoàn toàn để làm cho chúng nhanh hơn đáng kể.

📢 Vui lòng kiểm tra trước khi tham gia khóa học!

  • Để thực hành, vui lòng bảo mật trước môi trường phần cứng trong đó NVIDIA CUDA hoạt động. Cần có PC/máy tính xách tay được trang bị card đồ họa GeForce của NVIDIA .
  • Card đồ họa NVIDIA GeForce cũng có thể được sử dụng trong một số môi trường đám mây, nhưng cài đặt cho môi trường đám mây thay đổi thường xuyên và thường phải trả phí. Nếu là môi trường đám mây, sinh viên phải bảo mật phương thức sử dụng card đồ họa.
  • Môi trường thực hành bài giảng <00. Bạn có thể kiểm tra chi tiết trong phần Chuẩn bị trước bài giảng > Bài giảng.

Tính năng bài giảng ✨

#1.
giàu có
Ví dụ và giải thích

CUDA và điện toán song song ồ ạt đòi hỏi nhiều ví dụ và giải thích. Chuỗi bài giảng này cung cấp tổng cộng hơn 24 giờ giảng thực tế.

#2.
Thực hành là điều cần thiết!

Vì là môn học lập trình máy tính nên nó nhấn mạnh vào việc thực hành thực hành phong phú và cung cấp mã nguồn hoạt động thực tế để bạn có thể làm theo từng bước.

#3.
phần quan trọng
Tập trung!

Trong quá trình giảng, bạn có thể tránh giải thích dư thừa những phần mã nguồn đã được giải thích càng nhiều càng tốt, để chỉ tập trung học những phần đã thay đổi hoặc những phần cần nhấn mạnh.


Tôi giới thiệu nó cho những người này 🙋‍♀️

Sinh viên đại học muốn bổ sung vào danh mục công nghệ mới của mình trước khi đi làm

Các lập trình viên muốn cải thiện đáng kể các chương trình hiện có

Các nhà nghiên cứu lớn muốn biết các ứng dụng khác nhau đã được tăng tốc như thế nào

Những người muốn biết lý thuyết và thực hành xử lý song song như AI, deep learning và tính toán ma trận

Xem trước bài giảng 🏃

*Bài đánh giá dưới đây là bài đánh giá về một bài giảng bên ngoài do một người chia sẻ kiến ​​thức về cùng chủ đề đưa ra.

“Tôi không biết gì về các thuật toán song song hoặc tính toán song song.
“Sau khi tham gia khóa học, tôi trở nên tự tin hơn về tính toán song song.”

“Có nhiều thuật toán không thể giải được bằng các chương trình C++ hiện có.
Thông qua bài giảng này, tôi đã có thể cải thiện khả năng xử lý thời gian thực!”

“Khi được phỏng vấn sau khi tham gia bài giảng, tôi đã nói với người phỏng vấn rằng tôi có kinh nghiệm về tính toán song song và người phỏng vấn rất ngạc nhiên.
“Họ nói rằng không dễ để tìm thấy các khóa học CUDA hoặc tính toán song song ở cấp độ sinh viên đại học.”


Lộ trình chinh phục lập trình CUDA 🛩️

  • Các bài giảng về lập trình CUDA được lên kế hoạch thành 7 loạt bài, tổng cộng hơn 24 giờ giảng, để tăng cường sự tập trung vào chủ đề.
  • Mỗi bài giảng bao gồm sáu phần trở lên và mỗi phần bao gồm một chủ đề độc lập . (Bài giảng hiện tại, Phần 0, chỉ cung cấp phần Giới thiệu trong hai phần.)
  • Các slide sử dụng trong bài giảng được cung cấp dưới dạng tệp PDF và mã nguồn chương trình được sử dụng được cung cấp trong phần giải thích các ví dụ thực hành.

Phần 0 (1 giờ giảng miễn phí)

  • Giới thiệu về MPC và CUDA - Đây là phần giới thiệu giới thiệu chung về MPC và CUDA.

Phần 1 (3 giờ 40 phút)

  • Khái niệm hạt nhân CUDA - Bạn có thể tìm hiểu khái niệm về CUDA kermel, bước khởi đầu của lập trình CUDA và xem hoạt động tính toán song song.

Phần 2 (4 giờ 15 phút)

  • phép cộng vectơ - Chúng tôi trình bày nhiều ví dụ khác nhau về hoạt động giữa các vectơ, ở dạng mảng một chiều và thực sự triển khai quy trình AXPY trong CUDA.

Phần 3 (4 giờ 5 phút)

  • phân cấp bộ nhớ - Tìm hiểu cấu trúc bộ nhớ, cốt lõi của lập trình CUDA. Ví dụ, phép cộng ma trận, sai phân liền kề, v.v. được thực hiện.

Phần 4 (3 giờ 45 phút) Bài giảng hiện hành

  • chuyển đổi & nhân ma trận - Chúng tôi trình bày nhiều ví dụ khác nhau về các phép toán giữa các ma trận, là mảng hai chiều và triển khai quy trình GEMM với CUDA.

Phần 5 (3 giờ 55 phút)

  • vận hành và rút gọn nguyên tử - Ngoài việc hiểu luồng điều khiển CUDA, hãy tìm hiểu từ định nghĩa vấn đề đến giải pháp như vận hành và rút gọn nguyên tử. Các quy trình GEMV cũng được triển khai trong CUDA.

Phần 6 (3 giờ 45 phút)

  • tìm kiếm & sắp xếp - Tìm hiểu các ví dụ về cách triển khai hiệu quả vấn đề tìm kiếm tất cả, sắp xếp chẵn lẻ, sắp xếp bitonic và sắp xếp hợp nhất đếm bằng cách sử dụng kiến ​​trúc CUDA.

Khoa lập trình CUDA
Cuộc chinh phục điện toán song song quy mô lớn đã hoàn tất!


Hỏi đáp 💬

Q. Đánh giá về các khóa học trả phí là gì?

Các khóa học trả phí được mở tuần tự từ (1) đến (6), vì vậy các đánh giá về khóa học nằm rải rác và vẫn ở chế độ riêng tư. Khóa học trả phí hiện đã nhận được các đánh giá sau.

  • Sẽ rất hữu ích khi giải thích chi tiết quá trình tối đa hóa hiệu suất bằng cách áp dụng các kỹ thuật khác nhau trong một ví dụ.
  • Nó dễ hiểu hơn nhiều vì cấu trúc bộ nhớ và logic đã được hình dung và giải thích.
  • Thật tốt khi có thể thêm thông tin chuyên sâu về các thiết bị trong khi nghiên cứu AI mơ hồ.
  • Việc cài đặt phần mềm đã được giải thích rõ ràng và cung cấp mã nguồn giúp bạn dễ dàng thực hành.

Q. Đây có phải là khóa học mà những người không chuyên cũng có thể tham gia không?

  • Bạn phải có một số kinh nghiệm về lập trình C++ . Tối thiểu bạn phải có kinh nghiệm lập trình C. Mặc dù tất cả các ví dụ đều được viết rõ ràng nhất có thể nhưng chúng đều được cung cấp dưới dạng mã C++/C và phạm vi chức năng được cung cấp bởi các hàm như malloc và memcpy không được giải thích riêng.
  • Tuy nhiên, nếu bạn hiểu rõ về cấu trúc máy tính (thanh ghi, bộ nhớ đệm, v.v.), hệ điều hành (chia sẻ thời gian, v.v.) và trình biên dịch (tạo mã, tối ưu hóa mã), bạn có thể hiểu nội dung bài giảng sâu hơn.
  • Thiết kế ban đầu của khóa học này là dành cho nghiên cứu chuyên sâu của sinh viên năm cuối và sinh viên chuyên ngành máy tính tại các trường cao đẳng bốn năm.

Q. Tôi có cần chuẩn bị gì trước khi tham gia bài giảng không? Có bất kỳ lưu ý nào liên quan đến việc tham gia khóa học (yêu cầu về môi trường, các biện pháp phòng ngừa khác, v.v.) không?

  • Bạn phải bảo đảm trước một môi trường phần cứng trong đó NVIDIA CUDA hoạt động để thực hành. Cần có PC/máy tính xách tay được trang bị card đồ họa GeForce của NVIDIA .
  • Card đồ họa NVIDIA GeForce có thể được sử dụng trong một số môi trường đám mây, nhưng cài đặt môi trường đám mây thay đổi thường xuyên và thường phải trả phí, vì vậy trong môi trường đám mây, sinh viên phải xác định cách sử dụng card đồ họa.

Q. Nội dung khóa học được đề cập ở cấp độ nào?

  • Bắt đầu từ Phần 0 và đi lên từ Phần 1 đến Phần 6, cần có lý thuyết sâu hơn và hiểu biết sâu hơn.
  • Chúng tôi thực sự khuyên bạn nên tham gia khóa học theo thứ tự từ Phần 0 đến Phần 6.
  • Đếm sắp xếp hợp nhất, được đề cập ở cuối Phần 6, là một vấn đề mà ngay cả các nhà nghiên cứu chuyên nghiệp cũng khó có thể nhanh chóng theo kịp. Tuy nhiên, những học viên ngoại tuyến theo dõi khóa học từng bước có nhiều khả năng hiểu nó dễ dàng hơn dựa trên các phần trước.

Q. Có lý do gì để ấn định thời hạn tham dự khóa học không?

  • Sở dĩ chúng tôi đặt ra thời hạn cho việc tham gia khóa học là vì với tính chất của lĩnh vực máy tính, khả năng cao là nội dung của khóa học này sẽ trở nên lỗi thời sau một thời gian dài như vậy.
  • Cho đến lúc đó, tôi sẽ gặp lại bạn trong một bài giảng mới. 😄

Q. Video có phụ đề không?

  • Đúng. Hiện tại tất cả các video đều có phụ đề.
  • Tuy nhiên, một số video được thêm vào sau có thể không có phụ đề video.

Các vấn đề liên quan đến font chữ sử dụng trong tài liệu bài giảng ✔️

  • Chỉ các phông chữ miễn phí từ Google/Adobe mới được sử dụng trong tệp video và PDF.
  • Phông chữ tiếng Hàn là “Bon Gothic” Noto Sans KR và phông chữ tiếng Anh là Source Sans ProSource Serif Pro .
  • Bạn có thể tải xuống tất cả chúng miễn phí từ các liên kết sau. Sau khi tải xuống, bạn có thể giải nén và cài đặt nó trên PC/laptop bằng cách nhấp chuột phải vào nó .
  • Từ https://fonts.google.com/noto/specimen/Noto+Sans+KR , tải xuống dưới dạng tệp ZIP bằng cách sử dụng “download family” và cài đặt.
  • Từ https://fonts.google.com/specimen/Source+Sans+Pro , tải xuống dưới dạng tệp ZIP có “download family” và cài đặt.
  • Từ https://fonts.google.com/specimen/Source+Serif+Pro , tải xuống dưới dạng tệp ZIP với “download family” và cài đặt.

Khuyến nghị cho
những người này!

Khóa học này dành cho ai?

  • Những người muốn tăng tốc xử lý mảng/ma trận/hình ảnh/xử lý/sắp xếp thống kê, v.v. bằng tính toán song song/xử lý song song dựa trên C++C

  • Những người muốn tăng tốc chương trình của riêng mình bằng tính toán song song/CUDA/CUDA

  • Những người muốn học lập trình NVIDIA CUDA/điện toán CUDA từ cơ bản

  • Những người muốn nghiên cứu cả lý thuyết và thực hành về xử lý song song/tính toán song song GPU

Cần biết trước khi bắt đầu?

  • Kinh nghiệm lập trình C++ hoặc C

  • Sẽ tốt hơn nếu bạn có kiến ​​thức về kiến ​​trúc máy tính, thanh ghi, bộ nhớ đệm, chia sẻ thời gian, v.v.

Xin chào
Đây là

8,829

Học viên

194

Đánh giá

61

Trả lời

4.9

Xếp hạng

30

Các khóa học

One more cup of drip coffee for the road

Chương trình giảng dạy

Tất cả

40 bài giảng ∙ (3giờ 40phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

4 đánh giá

5.0

4 đánh giá

  • min4849님의 프로필 이미지
    min4849

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    • onemoresipofcoffee
      Giảng viên

      Hello. 🌞 Thank you for your good review. 🍀 I hope you always have a happy time.

  • kissureng4871님의 프로필 이미지
    kissureng4871

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    The optimization part is especially helpful in many ways.

    • onemoresipofcoffee
      Giảng viên

      Hello. 🌞 Thank you for your good review. 🍀 I hope you always have a happy time.

  • wayfarecru0581님의 프로필 이미지
    wayfarecru0581

    Đánh giá 25

    Đánh giá trung bình 5.0

    5

    10% đã tham gia

    It was unique that matrix multiplication can be implemented in various ways, and I didn't know that changing the loop structure in CPU implementation would make it faster. It feels like I learned practical coding, not the level that usually appears in language books.

    • onemoresipofcoffee
      Giảng viên

      Hello. 🌞 Thank you for your good review. 🍀 I hope you always have a happy time.

  • hooha1207님의 프로필 이미지
    hooha1207

    Đánh giá 8

    Đánh giá trung bình 5.0

    5

    55% đã tham gia

    It was good that you explained how to do mathematical operations with CUDA in earnest. And thanks to the table of contents organized by Drip Coffee + Han Mogeum, I was able to find the content I wanted very quickly.

    Khóa học khác của onemoresipofcoffee

    Hãy khám phá các khóa học khác của giảng viên!

    Khóa học tương tự

    Khám phá các khóa học khác trong cùng lĩnh vực!