2012-06-18 58 views
9

Tôi muốn viết chương trình song song trong C++ sử dụng OpenMP, vì vậy tôi bắt đầu với OpenMP. Nói cách khác tôi là người mới bắt đầu và tôi cần hướng dẫn OpenMP tốt về cách cài đặt nó. Có ai biết cách cài đặt OpenMP trên Windows, sau đó biên dịch và chạy chương trình không?Bắt đầu với openMP. cài đặt trên windows

Trả lời

12

OpenMP không phải là thứ bạn cài đặt. Nó đi kèm với trình biên dịch của bạn. Bạn chỉ cần một trình biên dịch phong nha hỗ trợ OpenMP và bạn cần biết cách bật hỗ trợ OpenMP vì nó thường bị vô hiệu hóa theo mặc định.

Trình biên dịch chuẩn cho Windows xuất phát từ Microsoft và trình biên dịch Microsoft Visual C/C++ từ Visual Studio. Thật không may hỗ trợ OpenMP của nó là một chút lỗi thời - ngay cả những Visual Studio mới nhất và lớn nhất chỉ hỗ trợ OpenMP 2.0 (một phiên bản tiêu chuẩn lỗi thời từ năm 2002). Xem here để biết thêm thông tin về cách sử dụng OpenMP trong Visual Studio. Cũng có các trình biên dịch khác - cả trình biên dịch Intel C/C++ (yêu cầu giấy phép thương mại) và GCC (tự do có sẵn) hỗ trợ các phiên bản OpenMP mới hơn và các trình biên dịch khác cũng có sẵn.

Bạn có thể bắt đầu tìm hiểu OpenMP bằng cách truy cập trang web OpenMP here. Ngoài ra còn có một hướng dẫn tuyệt vời về OpenMP từ Phòng thí nghiệm quốc gia Lawrence Livermore có sẵn here.

3

Vì vậy, đây là những gì tôi đã làm để cuối cùng nhận được OpenMP làm việc trên với Windows 10 PC:

  1. Nhận MinGW - Tải và lấy những gì bạn cần để có được trình biên dịch gcc cơ bản và pakage g ++ (nó thực sự dễ dàng làm). Bạn luôn có thể chạy g++ -v để đảm bảo thiết bị đang hoạt động và chạy
  2. Chạy mingw-get upgrade --recursive "gcc<4.7.*" "gcc-g++<4.7.*" Đây là phần "Thú vị". Bởi vì tại thời điểm này không có thư viện libgomp được hỗ trợ trong phiên bản 4.9. * Của tôi mà gcc không thể nhận ra <omp.h> phiên bản hỗ trợ cuối cùng là 4.7.2 nên tôi đã có thể chạy openMP của mình

để biên dịch chạy g++ -fopenmp myOpenMPFile.cpp -o myOpenMP và nó sẽ tất cả các công việc từ đó

gcc -fopenmp myOpenMPFile.cpp -o myOpenMP cũng sẽ làm việc cho mã C

+0

Awesome !! Giải pháp thực sự gọn gàng. –

Các vấn đề liên quan