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

/

Programming Language

Lập trình CUDA (3) - Tính toán song song C/C++/GPU - Cấu trúc bộ nhớ

✅ Trong toàn bộ loạt bài (1) đến (6), (3) Tối ưu hóa phân cấp bộ nhớ CUDA ✅ Giải thích từng bước lập trình NVIDIA GPU + CUDA 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.

(4.9) 7 đánh giá

177 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 là - Phần (3) - Tối ưu hóa thứ bậc bộ nhớ CUDA

  • Cập nhật - Tháng 8 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)

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

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

  • Bất kỳ ai 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

  • Bất kỳ ai muốn nghiên cứu cả lý thuyết và thực hành về xử lý song song/điện 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,048

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ả

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

4.9

7 đánh giá

  • seonggyun.jeong님의 프로필 이미지
    seonggyun.jeong

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    • 디카페인님의 프로필 이미지
      디카페인

      Đánh giá 1

      Đánh giá trung bình 4.0

      4

      30% đã tham gia

      • hooha1207님의 프로필 이미지
        hooha1207

        Đánh giá 8

        Đánh giá trung bình 5.0

        5

        100% đã tham gia

        cuda를 활용해 병렬로 계산하더라도 계산속도가 예상보다 느릴 때 이를 해결하는 방법에 대해 자세히 알려주셔서 cuda를 깊이 있게 다루는 방법에 대해 고민할 수 있어 좋았습니다 ...그러니 수강기한 제한 좀...ㅠ

        • 민영님의 프로필 이미지
          민영

          Đánh giá 5

          Đánh giá trung bình 5.0

          5

          60% đã tham gia

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

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

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

          Đánh giá 5

          Đánh giá trung bình 5.0

          5

          100% đã tham gia

          설명이 상세해서 좋아요!

          • 안녕하세요.🌞 이 CUDA 강의에서는 자세한 사항까지 모두 담으려고 노력했습니다. 좋은 평가를 해주셔서 감사합니다. 🍀

        1.044.711 ₫

        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!