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

/

Programming Language

Lập trình CUDA (0) - Tính toán song song C/C++/GPU - Bài giảng mẫu mở

✅ Đây là (0) bài giảng giới thiệu toàn bộ (1) đến (6) bài giảng trong bộ. ✅ Lập trình NVIDIA GPU + CUDA được giải thích từng bước 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.

(4.9) 42 đánh giá

1,390 học viên

  • onemoresipofcoffee
CUDA
GPU
Parallel Processing
C
C++
Thumbnail

Đá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 là - Phần (0) - Giới thiệu về tính toán song song quy mô lớn và CUDA

  • Cập nhật - Tháng 6 năm 2023, "Remastering"👍 (một số nguồn nhạc, video giới thiệu)

  • ✅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 🧐

CUDA = Công nghệ tính toán song song GPU được sử dụng rộng rãi nhất
Hướng dẫn từng bước + nhiều ví dụ + giải thích chi tiết = Đây chính là khóa học!

Đ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 .
  • Mặc dù 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ấu hình thường thay đổi liên tục và thường yêu cầu trả phí. Nếu bạn đang sử dụng môi trường đám mây, hãy đảm bảo bảo mật môi trường hỗ trợ card đồ họa.
  • 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 bao gồm các phần (0) đến (6), tổng cộng hơn 24 giờ.

#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 càng nhiều càng tốt đối với các phần mã nguồn đã được giải thích, để bạn có thể 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 🙋‍♀️

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

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.

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ờ) Bài giảng hiện tại

  • 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)

  • 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ể.
  • 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 hoặc môi trường đám mây.
  • Một số môi trường đám mây cũng cho phép bạn sử dụng card đồ họa NVIDIA GeForce, nhưng môi trường đám mây thường có cài đặt thay đổi và thường phải trả phí, vì vậy hãy chọn môi trường cho phép bạn sử dụng card đồ họa của mình.

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 nhiều hơn.
  • Chúng tôi thực sự khuyên bạn nên học cá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ủ đề khó, ngay cả với các nhà nghiên cứu chuyên nghiệp. Tuy nhiên, nhiều sinh viên đã theo dõi từng bước và thấy dễ hiểu, dựa trên những kiến thức đã học 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 đều có phụ đề!
  • Có thể thêm phụ đề vào video không có phụ đề khi cập nhật, nhưng hiện tại, tất cả video đều có phụ đề.

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 các chương trình do họ phát triển 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,049

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ả

15 bài giảng ∙ (1giờ 8phú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ả

42 đánh giá

4.9

42 đánh giá

  • 몽크in도시님의 프로필 이미지
    몽크in도시

    Đánh giá 25

    Đánh giá trung bình 5.0

    5

    7% đã tham gia

    다른 분도 수강평에 쓰셨던데... 정말 이런 강의를 한국어로 만들어 주셔서 감사합니다.

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

      안녕하세요. 좋은 평가를 해 주셔서 감사합니다. 계속 내용으로 뵙겠습니다.

  • 노정호님의 프로필 이미지
    노정호

    Đánh giá 6

    Đánh giá trung bình 3.8

    5

    33% đã tham gia

    • 김용수님의 프로필 이미지
      김용수

      Đánh giá 2

      Đánh giá trung bình 5.0

      5

      60% đã tham gia

      • dw.hong님의 프로필 이미지
        dw.hong

        Đánh giá 1

        Đánh giá trung bình 5.0

        5

        33% đã tham gia

        • 이대준님의 프로필 이미지
          이대준

          Đánh giá 3

          Đánh giá trung bình 5.0

          5

          100% đã tham gia

          Miễn phí

          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!