Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Programming Language

Lập trình CUDA (2) - Tính toán song song C/C++/GPU - Phép cộng vectơ

✅ Trong loạt bài (1) đến (6), (2) song song cộng các vectơ (mảng 1D) ✅ Lập trình GPU NVIDIA + CUDA được giải thích từng bước từ những điều 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) 7 đánh giá

194 học viên

  • onemoresipofcoffee
gpu
커널
nvidia
CUDA
GPU
Parallel Processing
C++
C

Đánh giá từ những học viên đầu tiên

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 (2) - Cộng các vectơ (mảng 1D) song song đồng thời

  • Cập nhật - Tháng 7 năm 2023, "Remastering"👍 (một số nguồn âm thanh/video)

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

Tốc độ là tất cả trong một chương trình!
Làm cho nó nhanh hơn với các kỹ thuật xử lý song song lớn 🚀

Họ nói rằng điện toán song song quy mô lớn rất quan trọng 🧐

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

Trong số các công nghệ điện toán song song, điện toán song song quy mô lớn và CUDA được coi là then chốt. Tuy nhiên, rất khó để tìm được một khóa học giảng dạy lĩnh vực này một cách hệ thống, khiến việc bắt đầu học trở nên khó khăn. Hãy học lập trình CUDA từng bước thông qua khóa học này. CUDA và điện toán song song đòi hỏi nền tảng lý thuyết vững chắc và có thể rất khó khăn. Các ví dụ và giải thích nền tảng phong phú, cùng với sự hiểu biết sâu sắc về các nguyên tắc cơ bản, sẽ cung cấp cho bạn những công cụ cần thiết! Khóa học này sẽ được biên soạn theo dạng series, đảm bảo thời lượng bài giảng đầy đủ.

Bài giảng này sẽ giải thích cách các lập trình viên C++/C có thể sử dụng thư viện CUDA và các hàm C++/C để tăng tốc một loạt các vấn đề bằng các kỹ thuật xử lý song song hàng loạt . Phương pháp này có thể được sử dụng để tăng tốc các chương trình C++/C hiện có hoặc tăng tốc đáng kể các thuật toán và chương trình mới bằng cách phát triển chúng hoàn toàn bằng điện toán song song.

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

  • Với hướng dẫn này, vui lòng đảm bảo bạn có môi trường phần cứng hỗ trợ NVIDIA CUDA. Bạn sẽ cần một PC hoặc máy tính xách tay được trang bị card đồ họa NVIDIA GeForce .
  • 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 mây thường xuyên thay đổi và thường phải trả phí. Trong môi trường đám mây, sinh viên có trách nhiệm tự đảm bảo việc sử dụng card đồ họa của mình.
  • Bạn có thể kiểm tra chi tiết môi trường thực hành bài giảng trong bài giảng <00. Chuẩn bị trước bài giảng> của chương trình giảng dạy.

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

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

CUDA và tính toán song song quy mô lớn đòi hỏi nhiều ví dụ và giải thích chi tiết. Chuỗi bài giảng này cung cấp hơn 24 giờ học thực hành.

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

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

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

Trong thời gian giảng bài, chúng tôi sẽ cố gắng tránh giải thích trùng lặp về các phần mã nguồn đã được giải thích, để bạn có thể chỉ tập trung vào các phần đã thay đổi hoặc các phần cần nhấn mạnh.


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

Sinh viên đại học muốn bổ sung công nghệ mới vào hồ sơ 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 muốn biết cách các ứng dụng khác nhau được tăng tốc

Bất kỳ ai muốn tìm hiểu về lý thuyết và thực hành xử lý song song như AI, học sâu và tính toán ma trận.

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

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

"Tôi không biết gì về thuật toán song song hoặc điện toán song song,
Sau khi học xong khóa học, tôi cảm thấy tự tin hơn về điện 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ó.
Nhờ bài giảng này, tôi đã có thể cải thiện khả năng xử lý thông tin theo thời gian thực của mình!"

“Sau khi tham dự buổi thuyết trình, khi tôi được phỏng vấn và nói rằng tôi có kinh nghiệm về điện toán song song, những người phỏng vấn đã rất ngạc nhiên.
"Tôi nghe nói rằng không dễ để tìm được các khóa học về CUDA hoặc điện toán song song ở trình độ đại học."


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

  • Khóa học lập trình CUDA được thiết kế để tăng cường sự tập trung vào chủ đề này, với 7 loạt bài giảng có tổng thời lượng hơn 24 giờ.
  • Bài giảng lộ trình có tiêu đề "Lập trình CUDA" cũng đã có sẵn. Hãy nhớ xem qua nhé.
  • Mỗi bài giảng được chia thành sáu phần hoặc nhiều hơn, mỗi phần đề cập đến một chủ đề riêng biệt . (Bài giảng hiện tại, Phần 0, chỉ bao gồm hai phần, Phần giới thiệu.)
  • Các slide được sử dụng trong bài giảng được cung cấp dưới dạng tệp PDF và mã nguồn của các chương trình được sử dụng được cung cấp trong các phần giải thích các ví dụ thực tế.

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

  • Giới thiệu về MPC và CUDA - Phần này cung cấp phần giới thiệu tổng quan về MPC và CUDA.

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

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

Phần 2 (4 giờ 15 phút) Bài giảng hiện tại

  • Phép cộng vectơ - Nhiều ví dụ về phép toán giữa các vectơ, là các mảng một chiều, được trình bày và các hàm AXPY thực sự được triển khai trong CUDA.

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

  • Phân cấp bộ nhớ - Tìm hiểu về cấu trúc bộ nhớ cốt lõi của lập trình CUDA. Triển khai các ví dụ như phép cộng ma trận và phép hiệu liền kề.

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

  • Chuyển vị và nhân ma trận - Cung cấp nhiều ví dụ khác nhau về các phép toán giữa các mảng ma trận hai chiều và triển khai chương trình GEMM với CUDA.

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

  • Toán tử và Rút gọn Nguyên tử - Tìm hiểu luồng điều khiển CUDA, từ định nghĩa vấn đề đến giải pháp, bao gồm các toán tử và rút gọn nguyên tử. Bạn cũng sẽ triển khai các chương trình con GEMV 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ả các bài toá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 kiến trúc CUDA.

lập trình CUDA và
Chinh phục khả năng tính toán song song khổng lồ!


Hỏi & Đáp 💬

H. Đánh giá về các bài giảng trả phí như thế nào?

Các khóa học trả phí được phát hành tuần tự từ (1) đến (6), do đó các bài đánh giá khóa học còn rải rác và chưa được công khai. Các khóa học trả phí hiện có các bài đánh giá sau:

  • Thật hữu ích khi bạn 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 nhiều kỹ thuật khác nhau trong một ví dụ.
  • Việc này dễ hiểu hơn nhiều vì bạn đã giải thích cấu trúc bộ nhớ và logic một cách trực quan.
  • Trong khi nghiên cứu AI mơ hồ, việc có thể thêm nội dung chuyên sâu về các thiết bị là rất tốt.
  • Việc cài đặt phần mềm được giải thích rõ ràng và mã nguồn được cung cấp, giúp việc thực hành trở nên dễ dàng.

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

  • Yêu cầu một số kinh nghiệm lập trình C++ . Ít nhất, bạn cũng cần có một số kinh nghiệm lập trình C. Mặc dù tất cả các ví dụ đều được viết theo cách đơn giản, dễ hiểu, nhưng chúng được cung cấp bằng mã C++/C, và chức năng của các hàm như malloc và memcpy không được giải thích cụ thể.
  • Tuy nhiên, nếu bạn hiểu biết về kiến 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 sẽ có thể hiểu sâu hơn nội dung bài giảng.
  • Khóa học này ban đầu được thiết kế cho mục đích học nâng cao của sinh viên năm cuối chuyên ngành khoa học máy tính tại các trường đại học bốn năm.

H. Tôi có cần chuẩn bị gì trước khi tham dự buổi thuyết trình không? Có lưu ý nào liên quan đến khóa học không (môi trường cần thiết, những lưu ý khác, v.v.)?

  • Trước tiên, bạn phải đảm bảo môi trường phần cứng hỗ trợ NVIDIA CUDA cho việc thực hành. Cần có PC/laptop được trang bị card đồ họa NVIDIA GeForce .
  • 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 thường xuyên thay đổi và thường phải trả phí, do đó sinh viên phải tìm cách sử dụng chính card đồ họa trong môi trường đám mây.

H. Nội dung bài học được trình bày ở mức độ nào?

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

H. Có lý do gì để đặt ra thời hạn nộp khóa học không?

  • Lý do đặt ra thời hạn cho khóa học là vì, xét theo bản chất của lĩnh vực máy tính, nội dung khóa học có thể trở nên lỗi thời sau khoảng thời gian đó.
  • Đến lúc đó, tôi sẽ quay lại với bài giảng mới. 😄

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

  • Có, tất cả video hiện đều có phụ đề.
  • Tuy nhiên, một số video được thêm vào trong tương lai có thể không có phụ đề.

Thông tin về phông chữ được sử dụng trong tài liệu bài giảng ✔️

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

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à

9,058

Học viên

216

Đánh giá

63

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ả

50 bài giảng ∙ (4giờ 19phú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ả

7 đánh giá

5.0

7 đánh giá

  • 김준한님의 프로필 이미지
    김준한

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    • hooha1207님의 프로필 이미지
      hooha1207

      Đánh giá 8

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      강의 목차가 feature를 cuda로 계산하는 방법을 기준으로 나뉘어져 있어 학습 속도가 매우 빠릅니다 원하는 feature 계산을 목차에서 찾은 뒤 오프닝 영상을 시청해 알맞은지 확인 후 알맞으면 다음 영상을 시청해 cuda 구현 방법 및 아이디어 체득 오프닝 영상이 내게 정말 필요한 기능인지 아닌지를 판단하는데 정말 큰 도움이 되었다고 생각합니다 feature에 대한 내용만을 다루기 때문에 제가 원하는 내용인지 아닌지를 정확하고 빠르게 판단할 수 있었습니다 정말 좋아요 ...그러니 수강기한 제한 좀...ㅠ

      • 김지원님의 프로필 이미지
        김지원

        Đánh giá 5

        Đánh giá trung bình 5.0

        5

        60% đã tham gia

        • 드립커피+한모금더
          Giảng viên

          안녕하세요.🌞 좋은 평가를 해주셔서 감사합니다. 🍀 늘 행복한 시간 되세요.

      • wikimfw님의 프로필 이미지
        wikimfw

        Đánh giá 12

        Đánh giá trung bình 4.8

        5

        100% đã tham gia

        • 하지님의 프로필 이미지
          하지

          Đánh giá 5

          Đánh giá trung bình 5.0

          5

          100% đã tham gia

          실습면에서 좀 아쉬운 면이 있지만, 설명이 자세해서 이해하기 쉽습니다

          1.046.396 ₫

          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!