Tại sao Mike Pound đo khả năng tính toán của máy tính bằng card đồ họa mà không phải bộ xử lý?


17

Gần đây tôi đã xem một video Computerphile tuyệt vời về mật khẩu, trong đó Mike Pound khoe khoang siêu máy tính của công ty anh ta có 4 card đồ họa (chính xác là Titan X).

Là một người đam mê mô phỏng số, tôi mơ ước xây dựng một máy tính để bàn chỉ dành cho công việc mô phỏng. Tại sao Mike Pound đo khả năng tính toán của máy tính bằng card đồ họa mà không phải bộ xử lý? Nếu tôi đang xây dựng một máy tính, tôi nên quan tâm đến mục nào hơn?


11
Tôi không nghĩ đây có nhất thiết phải là câu hỏi của Gorilla so với Shark không ... Có một câu hỏi đơn giản: "Tại sao Mike Pound đo khả năng tính toán của máy tính bằng card đồ họa của nó chứ không phải bộ xử lý?" có thể được trả lời và câu trả lời của nó có giá trị xây dựng cho độc giả tương lai.
Có lẽ là

6
@gnat: thậm chí không gần. Tất nhiên, câu hỏi, ở dạng hiện tại, không thực sự là về công nghệ phần mềm. Nhưng tôi đoán nó có thể được hiểu là một câu hỏi về kỹ thuật của hệ thống, trong đó system = "sự kết hợp giữa phần cứng + phần mềm".
Doc Brown

10
Một máy tính có 4 card đồ họa không tương đương với siêu máy tính (và cũng không có cụm 10 Raspberry Pis cho vấn đề đó).
Matti Virkkunen

10
Đó chỉ là một thiết lập PC rất đắt tiền, không phải siêu máy tính ...
Bakuriu

3
Không phải là câu trả lời đơn giản cho "Tại sao Mike Pound đo khả năng tính toán của máy tính bằng thẻ đồ họa của nó" bởi vì bối cảnh là mật khẩu bị bẻ khóa? Nếu bạn gặp vấn đề về không gian là một cái gì đó khác, những gì bạn cần quan tâm có thể là một thứ hoàn toàn khác.
JimmyJames

Câu trả lời:


32

Mike Pound rõ ràng coi trọng khả năng tính toán của các card đồ họa cao hơn khả năng tính toán của CPU.

Tại sao? Một card đồ họa về cơ bản được tạo thành từ NHIỀU bộ xử lý đơn giản hóa mà tất cả chạy song song. Đối với một số công việc mô phỏng, rất nhiều tính toán có thể dễ dàng song song và xử lý song song trên hàng ngàn lõi có sẵn trong các card đồ họa, giảm tổng thời gian xử lý.

Tôi nên quan tâm đến mục nào hơn? Nó thực sự phụ thuộc vào khối lượng công việc bạn quan tâm và cách khối lượng công việc đó có thể / được song song để sử dụng trên card đồ họa. Nếu khối lượng công việc của bạn là một tập hợp các tính toán đơn giản song song và phần mềm được viết để tận dụng các card đồ họa có sẵn, thì nhiều card đồ họa sẽ có tác động hiệu năng lớn hơn nhiều so với nhiều CPU (đô la cho đô la).


5
Thêm một số số. Giả sử máy tính chính của bạn sẽ là Máy chủ AMD Epyc, 64 lõi, 128 với Hyperthreading. Chúng ta cũng nói rằng "lõi" card đồ họa chỉ nhanh hơn 10%. ONE TitanX vẫn có 3072 lõi cuda, khoảng 12000 cho thiết lập. Có được ý tưởng? NẾU bạn có thể chạy vấn đề trên card đồ họa, nó không "nhanh hơn" - nó giống như so sánh tốc độ của xe ngựa với xe công thức 1.
TomTom

3
+1 cho 'tập hợp song song các tính toán đơn giản', được viết rất tốt. Ngắn và đến điểm.
Michael Viktor Starberg

11
@TomTom: Thật ra so sánh ưa thích của tôi là so sánh một chiếc xe công thức 1 (CPU của bạn) với một tàu cao tốc. Chắc chắn, xe lửa và xe hơi có cùng tốc độ. Nhưng tàu có thể di chuyển 1000 người từ A đến B nhanh hơn xe công thức 1.
slebetman

2
@slebetman điểm là CPU thường nhanh hơn nhiều trong hiệu năng lõi đơn (không xấp xỉ cùng tốc độ). Có lẽ chúng ta có thể thỏa hiệp, và so sánh một chiếc máy bay phản lực siêu thanh với đầu máy hơi nước.
Darren Ringer

2
Nếu tôi phải chọn một sự tương tự dựa trên phương tiện, tôi sẽ nói rằng CPU giống như một máy bay chiến đấu (nó nhanh hơn nhiều cho việc vận chuyển điểm đến điểm và có nhiều mánh khóe mà các phương tiện khác không thể, nhưng chỉ có thể mang tải rất nhỏ) trong khi GPU giống như một con tàu chở hàng (nó có thể mang tải song song nhiều hơn đáng kể, nhưng có tốc độ quay chậm hơn nhiều).
Lie Ryan

5

Hãy xem https://developer.nvidia.com/cuda-zone (và google cuda nvidia để biết thêm thông tin). Kiến trúc cuda và card đồ họa cao cấp được sử dụng khá rộng rãi cho siêu máy tính để bàn. Thông thường, bạn có thể kết hợp một hộp nhiều Tflop với giá dưới 10 nghìn đô la (usd) bằng cách sử dụng các thành phần whitebox ngoài giá.

Vì thế...

Là một người đam mê mô phỏng số, tôi mơ ước xây dựng một máy tính để bàn chỉ dành cho công việc mô phỏng

... Cuda là trò chơi hay nhất trong thị trấn dành cho bạn. Có thể thử hỏi lại trong /scicomp// hoặc một trang web stackexchange khác, liên quan trực tiếp hơn với loại điều này.

(Nhân tiện, tôi cho rằng bạn cảm thấy thoải mái với ý tưởng rằng chúng ta đang nói về lập trình song song ồ ạt ở đây, vì vậy bạn có thể cần phải làm quen với mô hình đó cho thiết kế thuật toán.)


Và chúng tôi trở lại Ordos như thường lệ.
Michael Viktor Starberg

2
@MichaelViktorStarberg Tôi có phải là người duy nhất không hiểu tài liệu tham khảo Ordos không?
MarnixKlooster RebstateMonica

Tôi sợ bạn là ...: /
Ismael Miguel

4
@MarnixKlooster: Tôi đã phải Google "Ordos." Không chắc chắn một "thành phố ma" ở Trung Quốc phải làm gì với siêu máy tính hoặc teraflop.
Robert Harvey

@MarnixKlooster Bạn thực sự không.
jpmc26

2

Nếu tôi đang xây dựng một máy tính, tôi nên quan tâm đến mặt hàng nào hơn?

Từ quan điểm thực tế, có lẽ bạn nên chú ý khá nhiều đến bo mạch chủ và CPU do khó nâng cấp tương đối so với GPU. Sau khi mua là một thời gian khủng khiếp để khám phá bạn không có không gian cho bốn GPU hoặc bộ xử lý đủ nhanh để giữ cho tất cả chúng bận rộn.

Bạn cũng nên lưu ý rằng hiệu suất GPU thường được báo cáo trong các FLOP có độ chính xác đơn và giảm khá nhiều cho độ chính xác gấp đôi. Nếu bạn cần độ chính xác cao hơn trong các mô phỏng của mình, bạn sẽ kết thúc tốt hơn tốc độ được quảng cáo.

Tắt các cuộc đua kỹ thuật phần mềm

Thực sự có hai mối quan tâm chính từ quan điểm phần mềm, mô hình lập trình và nút cổ chai Von Neumann. CPU có khả năng truy cập khá tốt vào bộ nhớ chính, GPU có một lượng lớn bộ nhớ nhanh hơn trên bo mạch. Không phải ai cũng biết rằng thời gian di chuyển dữ liệu vào và ra khỏi GPU hoàn toàn phủ nhận bất kỳ chiến thắng tốc độ nào. Nói chung, CPU là một người chiến thắng cho tính toán vừa phải trên một lượng lớn dữ liệu trong khi GPU vượt trội ở tính toán nặng với số lượng nhỏ hơn. Tất cả đều đưa chúng ta đến mô hình lập trình.

Ở cấp độ cao, vấn đề là cuộc tranh luận MIMD / SIMD cổ xưa và được vinh danh. Hệ thống đa hướng dẫn / đa dữ liệu đã là những người chiến thắng lớn trong điện toán nói chung và thương mại. Trong mô hình này, bao gồm SMP, có nhiều bộ xử lý mỗi bộ thực thi luồng lệnh riêng của chúng. Đó là máy tính tương đương với một nhà bếp kiểu Pháp, nơi bạn chỉ đạo một số ít đầu bếp lành nghề hoàn thành các nhiệm vụ tương đối phức tạp.

Mặt khác, các hệ thống Đa dữ liệu / Đa dữ liệu gần giống với một căn phòng lớn chứa đầy các nhân viên bị xích vào bàn của họ theo hướng dẫn từ bộ điều khiển chính. "Mọi người THÊM dòng 3 và 5!" Nó đã được sử dụng ở dạng nguyên chất trong IllIAC và một số hệ thống "siêu nhỏ" nhưng bị mất trên thị trường. GPU hiện tại là anh em họ thân thiết, chúng linh hoạt hơn nhưng có chung triết lý chung.

Tong hop mot thoi gian ngan:

  • Đối với bất kỳ hoạt động nhất định, CPU sẽ nhanh hơn, trong khi GPU có thể thực hiện đồng thời nhiều hoạt động. Sự khác biệt là rõ ràng nhất với phao 64 bit.
  • Các lõi CPU có thể hoạt động trên mọi địa chỉ bộ nhớ, dữ liệu cho GPU phải được đóng gói thành một khu vực nhỏ hơn. Bạn chỉ thắng nếu bạn thực hiện đủ các tính toán để bù thời gian chuyển.
  • Mã nặng trong điều kiện thường sẽ hạnh phúc hơn trên CPU.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.