Kết quả thực nghiệm

Một phần của tài liệu Song song hoá thuật toán Bames hut với OpenMP (Trang 57 - 61)

Phụ thuộc vào trình biên dịch và cấu hình máy Intel (R) Xeon (TM) với 4 CPU 2.40 GHz, chương trình treecode sau khi thử nghiệm song song với một số chỉ thị của OpenMP sẽ cho thời gian thực hiện các hàm như dưới đây:

local void walksub(nodeptr *nptr, nodeptr *np, cellptr cptr, cellptr bptr, nodeptr p, real psize, vector pmid)

{ ………

if (Type(p) == CELL) { /* fanout over descendents */ /* add parallel region */

#pragma intel omp parallel taskq shared(q) {

for (q = More(p); q != Next(p); q = Next(q)) { #pragma intel omp task captureprivate(q) {

for (k = 0; k < NDIM; k++)

nmid[k] = pmid[k] + (Pos(q)[k] < pmid[k] ? - poff : poff); walktree(nptr, np, cptr, bptr, q, psize / 2, nmid);

} }

} /* end of parallel region */

} else { for (k = 0; k < NDIM; k++)

nmid[k] = pmid[k] + (Pos(p)[k] < pmid[k] ? - poff : poff); walktree(nptr, np, cptr, bptr, p, psize / 2, nmid);

} }

Lê Thị Lan Phương 52

Như vậy, tùy thuộc vào từng trình biên dịch trên các máy tính có cấu hình khác nhau, kết quả thử nghiệm thu được trên máy đa xử lý Intel chỉ mang tính chất tương đối.

Flat profile:

Each sample counts as 0.00195312 seconds.

% cumulative self self total time seconds seconds calls ms/call ms/call name 74.84 10.43 10.43 532480 0.02 0.02 sumnode 11.18 11.99 1.56 569962 0.00 0.02 walktree 10.83 13.50 1.51 16013212 0.00 0.00 accept 0.68 13.59 0.09 2466729 0.00 0.00 subindex 0.48 13.66 0.07 266240 0.00 0.00 loadbody 0.29 13.70 0.04 _walksub_202__task4 0.27 13.73 0.04 520 0.07 0.09 hackcofm 0.24 13.77 0.03 266240 0.00 0.04 gravsum 0.22 13.80 0.03 130637 0.00 0.00 _walksub_199__taskq3 0 20 13 82 0 03 65 0 42 0 42 diagnostics

Lê Thị Lan Phương 53

KT LUN

Kết quả đạt được

Sau một thời gian tìm hiểu, nghiên cứu và đánh giá, tôi nhận thấy thuật toán Barnes-Hut và các cải tiến của nó đã góp phần quan trọng khi giải quyết bài toán N-body, với độ phức tạp chỉ là O (N log N). Cũng qua tìm hiểu, tôi thấy OpenMP là một giao diện lập trình ứng dụng song song đơn giản và dễ sử dụng. Nó cung cấp cho người dùng một giao diện mềm dẻo, có tính khả chuyển cao trong khi xây dựng và phát triển các ứng dụng song song trên các kiến trúc máy tính bộ nhớ chia sẻ.

Việc cài đặt và thử nghiệm cải tiến của thuật toán Barnes-Hut trên các máy đa xử

lý Intel và IBM cũng giúp cho tôi có những kinh nghiệm và thu được một số kết quả thực nghiệm. Để qua đó tôi phân tích và thấy được một số khó khăn khi tiến hành song song hóa.

Tuy kết quả thực nghiệm đạt được chưa cao, song qua tìm hiểu tôi đã học hỏi

được kinh nghiệm và nâng cao vốn hiểu biết của mình về tính toán hiệu năng cao trên các máy đa xử lý, cũng như kinh nghiệm về sử dụng hệđiều hành Linux.

Hướng phát triển

Do điều kiện về thời gian nghiên cứu và điều kiện về phần cứng, nên tôi mới chỉ

tìm hiểu và tiến hành thử nghiệm song song hóa trên máy đa xử lý Intel. Hướng nghiên cứu tiếp theo của tôi là tiếp tục tìm hiểu, thử nghiệm và tối ưu thuật toán treecode bằng cách tiến hành song song hóa trên máy IBM, cũng như tiến hành song song hóa thuật toán trên các máy đa xử lý kết hợp giữa bộ nhớ chia sẻ và bộ nhớ phân tán.

Lê Thị Lan Phương 54

TÀI LIU THAM KHO (adsbygoogle = window.adsbygoogle || []).push({});

[1] Josh Barnes & Piet Hut, A hierarchical O(N log N) force – calculation

algorithm, Nature, v. 324, December 1986.

[2] Fast Hierarchical Methods for the N-body Problem, Part 1 http://www.cs.berkeley.edu/~demmel/cs267/lecture26/lecture26.html

[3] J. E. Barnes, A modified tree code: Don't laugh; It runs, Journal of Computational Physics 87 (1990) 161--170.

[4] A. Kawai, J. Makino, High-accuracy treecode based on pseudoparticle

multipolemethod, Proceedings of the 208th Symposium of the International

Astronomical Union (Tokyo, Japan, July 10-13, 2001) 305-314.

[5] A. Kawai, J. Makino, Pseudo-particle multipole method: A simple method to

implement a high-accuracy treecode, The Astrophysical Journal, 550 (2001)

L143-L146.

[6] A. Kawai, J. Makino, T. Ebisuzaki, Performance analysis of high-accuracy

tree code based on the pseudoparticle multipole method, The Astrophysical

Journal Supplement 151 (2004) 13-33.

[7] Joshua E. Barnes, Institute for Astronomy, University of Hawaii, Treecode

Guide

[8] Giovanni Erbacci, Shared Memory Paradigm, High Performance Systems

Department, CINECA

[9] Introduction to OpenMP, Technical User Support, Supercomputing

Institute, University of Minnesota

[10] OpenMP exercise

http://www.llnl.gov/computing/tutorials/openMP/exercise.html

[11] Michael Süß, Claudia Leopold, A User's Experience with Parallel Sorting

Lê Thị Lan Phương 55

[12] Dieter an Mey, Two OpenMP Programming Patterns, Center for Computing and Communication, Aachen University

[13] Paul Graham, Edinburgh Parallel Computing Centre, The university of Edinburgh,

OpenMP A Parallel Programming Model for Shared Memory Architectures,March 1999, version 1.1

Một phần của tài liệu Song song hoá thuật toán Bames hut với OpenMP (Trang 57 - 61)