Sự khác biệt giữa Lõi CUDA và Lõi Tensor là gì? (Giải thích) – Tất cả sự khác biệt

 Sự khác biệt giữa Lõi CUDA và Lõi Tensor là gì? (Giải thích) – Tất cả sự khác biệt

Mary Davis

CUDA và lõi Tensor là những sản phẩm được phát triển bởi một công ty có tên là Nvidia. Vậy lõi CUDA và lõi Tensor là gì? CUDA là viết tắt của Compute Unified Device Architecture. Các lõi CUDA có mặt trong GPU, điện thoại thông minh và thậm chí cả ô tô của bạn, như các nhà phát triển Nvidia đã nói như vậy.

Lõi CUDA là một nền tảng điện toán song song và giao diện lập trình ứng dụng (API) cho phép phần mềm sử dụng các loại đơn vị xử lý đồ họa (GPU) cụ thể để xử lý cho mục đích chung.

Trong khi đó, các lõi tensor cũng do Nvidia phát triển cũng được sử dụng trong GPU. Tensor Cores cho phép điện toán có độ chính xác hỗn hợp, điều chỉnh linh hoạt các phép tính để tăng thông lượng trong khi vẫn duy trì độ chính xác.

Nói một cách đơn giản, các lõi này là một phần quan trọng của GPU trong máy tính của bạn để thực hiện các phép tính nhất định. Lõi CUDA được sử dụng để nhân hai số và cộng chúng với một số khác.

Trong khi lõi Tensor vẫn như vậy nhưng với ma trận 4×4. Những tính toán này về cơ bản là hiển thị đồ họa nhanh hơn cho bạn.

CUDA là gì?

Nói ngắn gọn là Kiến trúc thiết bị điện toán hợp nhất CUDA do Nvidia phát triển, phát hành vào ngày 23 tháng 6 năm 2007, là một nền tảng điện toán song song và giao diện lập trình ứng dụng (API).

Đó cho phép phần mềm sử dụng các loại đơn vị xử lý đồ họa (GPU) cụ thể để xử lý mục đích chung, một phương pháp được gọi là tính toán mục đích chung trênBộ đồ họa (GPU).

Xem thêm: Chúa tể của những chiếc nhẫn – Gondor và Rohan khác nhau như thế nào? – Tất cả sự khác biệt

CUDA là một lớp phần mềm cung cấp quyền truy cập trực tiếp vào tập lệnh ảo của GPU và các phần tử tính toán song song để thực thi các nhân tính toán. CUDA được phát triển để hoạt động với các ngôn ngữ lập trình khác nhau bao gồm C, C++ và Fortran.

Khả năng làm việc với các ngôn ngữ lập trình khác nhau giúp các chuyên gia lập trình song song sử dụng tài nguyên GPU dễ dàng hơn nếu chúng tôi phân biệt nó với các API trước đó như Direct3D hoặc OpenGL, vốn yêu cầu bạn phải có trình độ nâng cao hơn cơ sở kỹ năng trong lập trình đồ họa.

GPU với CUDA cũng hỗ trợ các khung lập trình, chẳng hạn như OpenMP, OpenACC, OpenCL và cả HIP có thể biên dịch mã đó thành CUDA. Tên đầu tiên được sử dụng cho CUDA là từ viết tắt của Compute Unified Device Architecture. Tuy nhiên, Nvidia sau đó đã bỏ từ viết tắt thường được sử dụng này.

Card đồ họa Nvidia GTX 1080 Ti mạnh mẽ

Thông tin thêm về CUDA

Là bộ xử lý máy tính chuyên dụng, bộ xử lý đồ họa (GPU) đáp ứng nhu cầu thực -thời gian, khối lượng công việc đồ họa 3D chuyên sâu về điện toán.

Khoảng năm 2012, GPU đã phát triển và trở thành hệ thống đa lõi song song cao cho phép xử lý dữ liệu hiệu quả cho các khối lớn.

Khi xử lý song song các khối dữ liệu khổng lồ, thiết kế này vượt trội so với các đơn vị xử lý trung tâm (CPU) đa năng cho các thuật toán, chẳng hạn như:

  • hàm băm mật mãchức năng
  • học máy
  • mô phỏng động lực học phân tử
  • động cơ vật lý
  • thuật toán sắp xếp

Sử dụng Kiến trúc CUDA ngay bây giờ và trong tương lai

  • Tăng tốc kết xuất đồ họa 3D
  • Tăng tốc chuyển đổi xen kẽ các định dạng tệp video
  • Tăng tốc mã hóa, giải mã và nén
  • Tin sinh học, ví dụ: giải trình tự NGS DNA BarraCUDA
  • Tính toán phân tán, chẳng hạn như dự đoán cấu trúc tự nhiên của protein
  • Mô phỏng phân tích y tế, ví dụ, thực tế ảo dựa trên hình ảnh quét CT và MRI
  • Mô phỏng vật lý, đặc biệt là trong động lực học chất lỏng
  • Đào tạo mạng nơ-ron về các vấn đề học máy
  • Nhận dạng khuôn mặt
  • Các dự án điện toán phân tán, chẳng hạn như [email protected] và các dự án khác sử dụng BOINC
  • Động lực học phân tử
  • Khai thác tiền điện tử
  • Cấu trúc từ phần mềm chuyển động (SfM)

Tensor Core là gì?

Các lõi chuyên dụng được gọi là Lõi Tensor cho phép đào tạo với độ chính xác hỗn hợp. Thế hệ ban đầu của các lõi chuyên dụng này thực hiện điều này bằng thuật toán cộng-nhân hợp nhất. Điều này cho phép nhân và cộng hai ma trận 4 x 4 FP16 thành ma trận 4 x 4 FP16 hoặc FP32.

Kết quả cuối cùng sẽ là FP32 với độ chính xác chỉ giảm một chút, tính toán chính xác hỗn hợp được chỉ định như vậy mặc dùma trận đầu vào có thể là FP16 có độ chính xác thấp.

Trong thực tế, điều này tăng tốc đáng kể các tính toán mà ít ảnh hưởng đến hiệu quả cuối cùng của mô hình. Khả năng này đã được mở rộng bởi các kiến ​​trúc vi mô sau này để biểu diễn số máy tính thậm chí còn kém chính xác hơn.

Thế hệ đầu tiên được giới thiệu với vi kiến ​​trúc Volta bắt đầu từ V100, nhiều định dạng chính xác của số máy tính đã được cung cấp để tính toán với vi kiến ​​trúc GPU mới với mỗi thế hệ đi qua.

Chúng ta sẽ nói về khả năng và chức năng của Tensor Cores đã thay đổi và cải tiến như thế nào qua mỗi thế hệ vi kiến ​​trúc trong phần tiếp theo.

Hình ảnh kết xuất đồ họa do Titan V tạo ra

Lõi Tensor hoạt động như thế nào?

Thế hệ thứ nhất:

Vi kiến ​​trúc GPU Volta được bao gồm trong thế hệ Lõi Tensor đầu tiên. Các lõi này cho phép đào tạo với độ chính xác hỗn hợp và định dạng số FP16.

Điều này có thể giúp tăng thông lượng teraFLOP lên tới 12 lần cho một số GPU nhất định. 640 lõi của V100 cấp cao nhất giúp tăng tốc độ hiệu suất lên gấp 5 lần so với GPU Pascal của thế hệ trước.

Thế hệ thứ hai:

Với sự ra đời của GPU Turing, thế hệ lõi Tensor thứ hai đã được giới thiệu. Int8, Int4 và Int1 đã được thêm vào danh sách các độ chính xác của Tensor Core được hỗ trợ, đó làtrước đây giới hạn ở FP16.

Do các quy trình đào tạo có độ chính xác hỗn hợp, thông lượng hiệu suất của GPU đã tăng lên tới 32 lần so với GPU Pascal.

Thế hệ thứ ba:

Kiến trúc trong GPU Ampere mở rộng dựa trên những cải tiến trước đó của vi kiến ​​trúc Volta và Turing bằng cách bổ sung hỗ trợ cho các độ chính xác của FP64, TF32 và bfloat16.

Các hoạt động đào tạo và suy luận học sâu được tăng tốc hơn nhiều nhờ các định dạng chính xác hơn này. Chẳng hạn, định dạng TF32 hoạt động tương tự như FP32 đồng thời đảm bảo tăng tốc lên tới 20 lần mà không thay đổi bất kỳ mã nào.

Xem thêm: Sự khác biệt giữa Gia súc, Bò rừng, Trâu và Yak là gì? (Chuyên sâu) – Tất cả sự khác biệt

Sau đó, chỉ với một vài dòng mã, việc triển khai độ chính xác hỗn hợp tự động sẽ tăng tốc độ đào tạo thêm gấp 2 lần.

NVLink thế hệ thứ ba cho phép tương tác đa GPU cực nhanh, lõi Truy tìm tia thế hệ thứ ba và chuyên môn hóa với toán học ma trận thưa thớt là các khía cạnh bổ sung của vi kiến ​​trúc Ampere .

Thế hệ thứ tư:

Việc phát hành thế hệ thứ tư của Lõi Tensor dựa trên vi kiến ​​trúc Hopper đã được lên kế hoạch phát hành trong tương lai. Lõi Tensor thế hệ thứ tư trong H100 tiếp theo.

dự kiến ​​sẽ được phát hành vào tháng 3 năm 2022, sẽ có thể xử lý các định dạng chính xác FP8 và, theo NVIDIA, sẽ tăng tốc các mô hình ngôn ngữ khổng lồ “lên 30 lần đáng kinh ngạc so với thế hệ trước.”

Cạc đồ họa RTX làđược sử dụng để kết xuất đồ họa rất nhanh vì nó chứa lõi tensor.

Sự khác biệt giữa Lõi CUDA và Lõi Tensor

Lõi tensor hiện chỉ có ở Titan V và Tesla V100. 5120 lõi CUDA trên cả hai GPU có công suất tối đa cho một hoạt động tích lũy nhân chính xác duy nhất (ví dụ: trong fp32: x += y * z) trên mỗi xung nhịp GPU (ví dụ: tần số PCIe của Tesla V100 là 1,38Gz).

Mỗi lõi tensor hoạt động trên ma trận nhỏ 4×4 dành cho ma trận nhỏ. Mỗi một xung nhịp GPU, mỗi lõi tensor có thể hoàn thành một hoạt động tích lũy nhân ma trận.

Nó nhân hai ma trận 4×4 FP16 và thêm ma trận 4×4 FP32 dẫn đến bộ tích lũy (cũng là ma trận fp32 4×4).

Vì ma trận đầu vào là fp16 trong khi kết quả phép nhân và bộ tích lũy là fp32 nên thuật toán được gọi là độ chính xác hỗn hợp.

Thuật ngữ chính xác có thể chỉ là “lõi ma trận 4×4”, nhưng nhóm tiếp thị NVIDIA đã chọn sử dụng “lõi tensor”.

Tóm tắt giải thích đầy đủ về lõi Tensor

Thẻ GPU Lõi CUDA VRAM
GeForce GTX 1660 Ti 1536 6GB
GeForce GTX 1660 Super 1408 6GB
GeForce GTX 1660 1408 6GB
GeForce GTX 1650 Super 1408 4GB
GeForce GTX 1650 1024 và896 4GB
GeForce GTX 1060 3GB 1280 4GB
GeForce GTX 1650 1280 3GB
GeForce GTX 1060 6GB 768 6GB
GeForce GTX 1050 Ti (3GB) 768 4GB
GeForce GTX 1050 (2GB) 640 3GB
GeForce GTX 960 1024 2GB
GeForce GTX 950 786 2GB
GeForce GTX 780 Ti 2880 2GB
GeForce GTX 780 2304 3GB
GeForce GTX 750 Ti 640 2 GB
GeForce GTX 750 512 1GB hoặc 2 GB

GPU chứa lõi CUDA

Kết luận

  • Lõi CUDA và Tensor là sản phẩm, cả hai đều được phát triển bởi một công ty có tên là Nvidia. CUDA là viết tắt của Compute Unified Device Architecture. Các lõi CUDA này có trong GPU, điện thoại thông minh và thậm chí cả ô tô của bạn.
  • Trong khi đó, các lõi tensor cũng do Nvidia phát triển cũng được sử dụng trong GPU. Các lõi chuyên dụng được gọi là “Lõi Tensor” cho phép đào tạo với độ chính xác hỗn hợp. Thế hệ lõi Tensor đầu tiên cho phép đào tạo với độ chính xác hỗn hợp và định dạng số FP16.
  • Điều này có thể giúp tăng thông lượng teraFLOP lên tới 12 lần đối với một số GPU nhất định. Int8, Int4 và Int1 đã được thêm vào danh sách các độ chính xác của Tensor Core được hỗ trợ.
  • Do lẫn lộnquy trình đào tạo chính xác, hiệu suất của GPU đã tăng lên tới 32 lần. Một bản phát hành trong tương lai của thế hệ lõi Tensor thứ tư dựa trên kiến ​​trúc vi mô Hopper đã được lên kế hoạch.

Các bài viết khác

    Mary Davis

    Mary Davis là một nhà văn, người sáng tạo nội dung và nhà nghiên cứu nhiệt tình chuyên phân tích so sánh về các chủ đề khác nhau. Với bằng báo chí và hơn 5 năm kinh nghiệm trong lĩnh vực này, Mary có niềm đam mê cung cấp thông tin thẳng thắn và khách quan cho độc giả của mình. Tình yêu viết lách của cô bắt đầu khi cô còn trẻ và là động lực thúc đẩy sự nghiệp viết lách thành công của cô. Khả năng nghiên cứu và trình bày những phát hiện của Mary theo một định dạng dễ hiểu và hấp dẫn đã khiến độc giả trên toàn thế giới yêu mến bà. Khi không viết lách, Mary thích đi du lịch, đọc sách và dành thời gian cho gia đình và bạn bè.