Từ quan điểm siêu máy tính, tốt hơn hết là đừng suy nghĩ về tải CPU / GPU mà chỉ xác định có bao nhiêu hoạt động mà vấn đề của bạn cần và sau đó so sánh với hiệu suất cao nhất của hệ thống.
Nếu bạn nhận được 100% mức sử dụng CPU, điều đó không có nghĩa là bạn sẽ có được tất cả hiệu năng ngoài hệ thống. CPU thường có thể làm nhiều việc khác nhau cùng một lúc, nói một bộ phận và bổ sung. Nếu bạn có thể bắt đầu phân chia sớm, nó có thể có thể bị chồng chéo với phép cộng. CPU máy tính để bàn của bạn rất có thể có một đơn vị không theo thứ tự sẽ sắp xếp lại các câu lệnh để hưởng lợi từ sự chồng chéo đó. Hoặc nếu bạn có chương trình sau:
if (expr1)
expr2;
else
expr3;
Một CPU sắp xếp lại sẽ cố gắng tính toán ba biểu thức cùng một lúc và sau đó loại bỏ kết quả của một trong số chúng. Điều này làm cho nó nhanh hơn tổng thể. Nếu bạn có một số trình chặn trong chương trình của mình và bạn không thể sắp xếp lại, thì bạn đang sử dụng ít làn đường hơn trong CPU, nhưng nó có thể vẫn sẽ hiển thị 100%.
Sau đó, bạn có các tính năng SIMD trong CPU là các hoạt động véc tơ. Nó giống như GPGPU-light theo nghĩa là bạn thường chỉ có bốn hoặc tám thao tác cùng một lúc, GPU hoạt động như 32 hoặc 64. Tuy nhiên, bạn vẫn phải sử dụng điều đó để tạo ra FLOPS.
Những thứ như chia sẻ sai có thể dẫn đến chi phí đồng bộ hóa lớn thường xuất hiện dưới dạng tải kernel trong Linux. CPU được sử dụng hoàn toàn nhưng bạn không có nhiều thông lượng hữu ích.
Tôi đã thực hiện một số chương trình trên máy IBM Blue Gene / Q. Nó có nhiều cấp độ phân cấp ( sơ đồ của Blue Gene / L lỗi thời ) và do đó khó có thể lập trình hiệu quả. Bạn sẽ phải sử dụng hệ thống phân cấp đầy đủ xuống SIMD và SMT (Intel gọi đây là HyperThreading) để có được hiệu suất.
Và sau đó mạng thường giới hạn bạn. Do đó, nó chỉ ra rằng thời gian (đồng hồ treo tường) nhanh hơn để tính toán mọi thứ tại nhiều CPU cùng một lúc thay vì truyền thông qua mạng. Điều này sẽ đặt thêm tải cho CPU và làm cho chương trình chạy nhanh hơn. Nhưng thông lượng chương trình thực tế không tốt như có vẻ từ số nguyên.
Nếu bạn thêm GPU vào hỗn hợp, sẽ càng khó hơn khi phối hợp toàn bộ điều này để mang lại hiệu suất. Đó sẽ là một trong những điều tôi sẽ bắt đầu thực hiện trong Luận văn thạc sĩ QCD của tôi trong một vài tháng.
NO-OP
s cùng một lúc, điều này sẽ dẫn đến cả hai đều có tải 100%.