Luận Văn Tìm Hiểu OpenMP và Ứng Dụng Trong Lập Trình Song Song

Trường đại học

Trường

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

2009

66
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN VỀ LẬP TRÌNH SONG SONG, TÍNH TOÁN SONG SONG

1.1. Thế nào là lập trình, tính toán song song ?

1.2. Tại sao phải lập trình, tính toán song song ?

1.3. Sử dụng lập trình, tính toán song song để làm gì ?

1.4. So sánh lập trình tính toán tuần tự và lập trình tính toán song song

1.5. Sự phân chia cấu trúc tính toán song song

1.5.1. Phân chia dựa trên quan hệ giữa chỉ thị lệnh và dữ liệu

1.5.1.1. Đơn chỉ thị lệnh, đa dữ liệu SIMD (Single Instruction, Multiple Data)
1.5.1.2. Đa chỉ thị lệnh, đơn dữ liệu MISD (Multiple Instruction, Single Data)
1.5.1.3. Đa chỉ thị lệnh, đa dữ liệu MIMD (Multiple Instruction, Multiple Data)

1.5.2. Sự phân chia dựa trên mối quan hệ giữa bộ xử lý và bộ nhớ

1.5.2.1. Dùng chung bộ nhớ (Shared Memory)
1.5.2.1.1. Truy cập bộ nhớ đồng bộ (Uniform Memory Access)
1.5.2.1.2. Truy cập bộ nhớ không đồng bộ (Non Uniform Memory Access)
1.5.2.2. Phân bổ bộ nhớ (Distributed Memory)
1.5.2.3. Kết hợp cả hai mô hình (Hybrid Distributed – Shared Memory)

1.6. Các mô hình lập trình song song

1.6.1. Mô hình dùng chung bộ nhớ (Shared Memory)

1.6.2. Mô hình luồng (Thread)

1.6.3. Mô hình truyền thông điệp (Message Passing)

1.6.4. Mô hình song song dữ liệu (Data Parallel)

2. CHƯƠNG 2: THƯ VIỆN MÃ NGUỒN MỞ OPENMP

2.1. Tổng quan về OpenMP

2.2. Mô hình lập trình song song trong OpenMP

2.3. Các chỉ thị biên dịch (Compiler Directive)

2.3.1. Khuôn dạng của chỉ thị

2.3.2. Phạm vi của chỉ thị

2.3.3. Cấu trúc vùng song song

2.3.4. Cấu trúc chia sẻ công việc (Work Sharing Construct)

2.3.5. Cấu trúc đồng bộ

2.3.6. Chỉ thị THREADPRIVATE

2.4. Các mệnh đề trong OpenMP

2.5. Thư viện Runtime (Runtime Library Routine)

2.5.1. OMP_SET_NUM_THREADS

2.5.2. OMP_GET_NUM_THREADS

2.5.3. OMP_GET_THREAD_NUM

2.5.4. OMP_GET_MAX_THREADS

2.5.5. OMP_GET_NUM_PROCS

2.5.6. OMP_IN_PARALLEL

2.5.7. OMP_SET_DYNAMIC

2.5.8. OMP_GET_DYNAMIC

2.5.9. OMP_SET_NESTED

2.5.10. OMP_GET_NESTED

2.5.11. OMP_INIT_LOCK

2.5.12. OMP_DESTROY_LOCK

2.5.13. OMP_SET_LOCK

2.5.14. OMP_UNSET_LOCK

2.5.15. OMP_TEST_LOCK

2.6. Các biến môi trường (Environment Variables)

2.6.1. OMP_NUM_THREADS

3. CHƯƠNG 3: THỰC NGHIỆM

3.1. Bài toán tính giai thừa của một số nguyên lớn

3.1.1. Phát biểu bài toán

3.1.2. Thuật toán thực hiện

3.1.3. Song song hoá thuật toán tính giai thừa của một số nguyên lớn

3.1.4. Thực hiện song song hoá bằng OpenMP

3.1.5. Kết quả thực nghiệm và nhận xét

3.2. Bài toán tìm số nguyên tố có n chữ số

3.2.1. Phát biểu bài toán

3.2.2. Thuật toán thực hiện

3.2.3. Song song hoá thuật toán tìm số nguyên tố có n chữ số

3.2.4. Thực hiện song song hoá bằng OpenMP

3.2.5. Kết quả thực nghiệm và nhận xét

TÀI LIỆU THAM KHẢO