Phân tích hiệu năng ứng dụng với Visual Profiler

Một phần của tài liệu Đánh giá hiệu năng phần mềm xử lý song song trên hệ thống kết hợp CPU và GPU (Trang 61 - 71)

6. Phƣơng pháp nghiên cứu

3.4.3.Phân tích hiệu năng ứng dụng với Visual Profiler

Trong phần này tác giả sử dụng công cụ Visual Profiler để phân tích hiệu năng ứng dụng xử lý song song của hãng NVIDIA.

62

Hình 23: Visual Profiler - Công cụ phân tích hiệu năng phần mềm xử lý song song

Visual Profiler thực hiện phân tích hiệu năng của ứng dụng từ việc đọc tệp đã được biên dịch ra với phần mở rộng *.EXE. Sau đó, công cụ này sẽ đưa ra các thông số một cách chi tiết về: Thông lượng trung bình, kích thước dữ liệu, thời gian xử lý và đánh giá kết quả của ứng dụng đó.

63

Hình 24: Cấu hình tham số đầu vào cho phần mềm Visual Profiler

Chạy chương trình với chế độ phân tích hiệu năng ứng dụng ta sẽ có được bảng kết quả như giao diện sau:

64 Trên Hình 25 mô tả kết quả thực hiện phân tích hiệu năng của bài toán N-Body với kích thước bài toán N=1024 (bodies) trong thời gian khoảng 11 giây. Trong giao diện mô tả thời gian tính toán, thời gian xử lý của các tương tác và các thông số xử dụng đến phần cứng như: số Grid và Block Thread. Chi tiết kết quả được minh họa trong hình sau:

Hình 26: Chi tiết phân tích kết quả xử lý của ứng dụng N-Body

Kết quả chi tiết ở Hình 26, đã phân tích từng tác vụ xử lý của hệ thống với bài toán N- Body. Công việc bắt đầu từ việc Copy dữ liệu từ bộ nhớ Host vào bộ nhớ Device. Sau đó là việc tính toán và cập nhật thống số từng hạt sau tương tác. Trong kết quả chi tiết trên, Gird Size = (4,1,1) và Block Size (256,1,1), kích thước này sẽ thay đổi khi ta thay đổi kích thước bài toán. Giả sử, khi thay N=4096, ta sẽ có được kết quả chi tiết tương tự như sau:

65

Hình 27: Kết quả chi tiết xử lý song song với N=4096 của bài toán N-Body

Như đã khẳng định ở trên, trong trường hợp N=4096, Grid Size đã được thay đổi thành (16,1,1). Sự thay đổi thông số này là một tính toán được lập trình sao cho phù hợp với sự thay đổi của kích thước bài toán và để tận dụng khả năng xử lý song song của GPU.

Ngoài ra ta còn đo được thông lượng copy bộ nhớ từ Host vào Device:

 Nhỏ nhất

 Lớn nhất .

66

ĐÁNH GIÁ KẾT QUẢ ĐO HIỆU NĂNG CHƢƠNG 4:

Sau khi áp dụng các kỹ thuật đo hiệu năng được trình bày ở phần 3.4 ta tiến hành giai đoạn cuối cùng là đánh giá kết quả. Trong phần này tác giả sẽ đưa ra các đánh giá về tốc độ, hiệu quả xử lý và các kết luận về hiệu năng của bài toán N-Body trên hệ thống hỗ trợ CPU và GPU.

Đánh giá tốc độ xử lý 4.1.

Tác giả thực hiện đo hiệu năng tính toán với chế độ Benchmark và được bảng thời gian tính toán với hệ thống chỉ sử dụng CPU và hệ thống kết hợp CPU & GPU như dưới đây:

Kích thước bài toán (N)

Thời gian xử lý chỉ CPU (ms)

Thời gian xử lý kết hợp CPU và GPU (ms) 1024 325 3.6 2048 1272 14 3072 2899 32 4096 5122 57 5120 8103 90 6144 11594 129 7168 16082 175 8192 20711 228 9216 26448 289 10240 32831 356 11264 39547 421 12288 46950 512 13312 55709 600 14336 696 15360 798 16384 83061 908

67

Hình 28: Minh hoạ kết quả đo thời gian xử lý trên CPU & GPU

Kết luận: Nhìn vào bảng kết quả đo thời gian xử lý cũng như đồ thị Hình 28 cho thấy

khả năng tính toán của GPU nhanh gấp nhiều so với CPU. Đặc biệt với kích thước N >=4096, nếu chỉ xử lý dữ liệu với CPU thì thời gian tính toán rất lớn và tăng nhanh..

Trên thực tế, với cấu hình phần cứng đã trình bày ở trên, kết quả test sẽ FAILED khi N>8192 ở độ chính xác kép.

Đánh giá hiệu quả xử lý 4.2.

Tác giả đã thực hiện chạy bài toán trong môi trường đồ họa với nhiều kích thước khác nhau ở hai chế độ: chỉ sử dụng CPU và sử dụng kết hợp CPU và GPU để đo tốc độ tính toán trung bình của hệ thống với bài toán N-Body, kết quả được mô tả trong bảng và hình dưới đây: (adsbygoogle = window.adsbygoogle || []).push({});

Kích thước bài toán N-Body

Tốc độ tính toán trung bình trong chế độ đồ họa (GFLOP/s)

Hệ thống kết hợp CPU và GPU Hệ thống chỉ sử dụng CPU

1024 3.2 0.2 2048 10 0.2 3072 18 0.2 0 10000 20000 30000 40000 50000 60000 70000 80000 90000 1024 2048 4096 8192 16384 Thời gian xử lý (ms) Số phần tử N-Body

CPU & GPU CPU

68 4096 27 0.2 5120 31 0.2 6144 36 0.2 7168 41 0.2 8192 45 0.2 9216 47 0.2 10240 48 0.2 11264 49 0.2 12288 50 0.2 13312 51 0.2 14336 52 0.2 15360 53 0.2 16384 54 0.2

Bảng 4: Kết quả đo tốc độ tính toán trung bình trong chế độ xử lý đồ họa

Hình 29: Minh họa kết quả đo hiệu quả xử lý ở chế độ đồ họa với GPU

Kết luận: Với bảng kết quả tốc độ tính toán trung bình khi tăng dần số lượng phần tử

N trong bài toán N-Body ta thấy: tốc độ xử lý trung bình của CPU dường như không thay

0 10 20 30 40 50 60 Tốc dộ tính toán trung bình (GFLOP/s)

69 đổi ở chế độ đồ họa; với hệ thống kết hợp CPU & GPU, tốc độ tính toán tăng rất nhanh khi phải xử lý số lượng lớn các điểm trong giao diện đồ họa.

Kết luận về hiệu năng 4.3.

Từ kết quả đo hiệu năng tính toán trong Bảng 3, sử dụng công thức (1) ta có bảng mức tăng tốc xử lý ứng với ứng với các tăng kích thước khác nhau của bài toán như sau:

N 1024 2048 4096 8192 16384

T1 (ms) 325 1272 5122 20711 83061

Tp (ms) 3.6 14 57 228 908

Sp 90 91 90 91 91

Bảng 5: Mức tăng tốc xử lý của chương trình xủ ly song song N-Body

Kết luận: Với kết quả thu được trong Bảng 5, ta thấy chương trình xử lý song song

trên hệ thống kết hợp CPU và GPU đã tăng tốc xử lý dữ liệu gấp 90 lần so với chương trình xử lý tuần tự chạy trên CPU.

Các kết luận khác về hiệu năng của bài toán N-Body trên hệ thống kết hợp CPU và GPU:

Kích thước tối đa bài toán dưới chế độ đồ họa hỗ trợ bởi môi trường phần cứng đã trình bày ở trên là: với độ chính xác đơn và với độ chính xác kép.

Thông qua việc phân tích hiệu năng ta có thể thấy bài toán N-Body đã được lập trình sao cho việc trao đổi dữ liệu giữa Host và Device chỉ thực hiện khi cần thiết. Trong môi trường đồ họa kết quả được vẽ ra với sự hỗ trợ của GPU, không cần sao chép lại cho CPU nên tiết kiệm được thời gian và hiệu ứng hình ảnh mượt hơn.

Khi kích thước bài toán lớn ( >= 65.536 phần tử), nó đã thể hiện được sự tăng tốc xử lý trên GPU với việc tận dụng đến 99% khả năng tính toán và chịu tải. Trong khi CPU của hệ thống mới sử dụng đến cho mọi hoạt động trên máy tính tại thời điểm đó.

70 Bài toán N-body cài đặt ở trên đã áp dụng các nguyên tắc tối ưu hóa hiệu năng và được lập trình cho phép tính toán động số luồng thực hiện. Bởi vậy, tốc xử lý cũng như hiệu quả sử dụng cao, đặc biệt là trong môi trường đồ họa.

71

KẾT LUẬN

Một phần của tài liệu Đánh giá hiệu năng phần mềm xử lý song song trên hệ thống kết hợp CPU và GPU (Trang 61 - 71)