2017-06-06 29 views
6

Trong LLVM mặc định do Apple cung cấp trong macOS 10.13, High Sierra, OpenMP có sẵn cuối cùng không? Nó đã có sẵn trong LLVM chính trong hơn một năm nay.OpenMP có sẵn trong High Sierra LLVM không?

(một cách khác để đặt câu hỏi có thể là những phiên bản của LLVM là mới của Apple LLVM dựa trên)

Trả lời

3

Clang chuẩn của Apple hỗ trợ OpenMP. Họ chỉ vô hiệu hóa tùy chọn trình điều khiển. Nhưng bạn có thể sử dụng tùy chọn frontend thay vì theo cách này: clang -Xclang -fopenmp <you_program> -I <path to omp.h> -L <path to libomp.dylib> -lomp

Ngoài ra, bạn cần phải thiết lập DYLD_LIBRARY_PATH biến môi trường: export DYLD_LIBRARY_PATH=<path to libomp.dylib>

Làm thế nào để có được/xây dựng libomp.

$ cd 
$ svn co http://llvm.org/svn/llvm-project/openmp/trunk libomp 
$ cd libomp 
$ mkdir build && cd build 
$ cmake -DCMAKE_INSTALL_PREFIX=~/libomp/openmp 
$ make && make install 

Sau khi thư mục này ~/libomp/openmp sẽ có 2 subdirs: includelib, mà nên được sử dụng như đường dẫn đến omp.h và đường dẫn đến libomp.dylib tương ứng.

cũng Xem câu trả lời của tôi để Is C++ compilable with OpenMP and boost on MacOS?

+0

Hai điều rất nhiều sẽ giúp câu trả lời này: Các liên kết đến các chủ đề khác, và một đề cập (hoặc liên kết) đến cách người ta nên có được libomp.a. Tôi đã cố gắng làm những gì bạn đề nghị trước đây, nhưng đã thiếu một trong các bước (hoặc đã sử dụng một libomp không chính xác). Chỉnh sửa: Liên kết tại đây: https://stackoverflow.com/questions/47081991/is-c-compilable-with-openmp-and-boost-on-macos/47225639#47225639 –

+0

Cách nhận/xây dựng libomp được thêm –

+0

Hoặc bỏ phiếu để đóng dưới dạng trùng lặp nếu câu trả lời giống hệt nhau. Nó thường được cau mày khi đăng câu trả lời tương tự cho nhiều câu hỏi (không phải chủ đề, không có chủ đề trên StackOverflow). –

1

Không, nó không phải là. Các LLVM của Apple là khoảng dựa trên 4.0, nhưng mô-đun OpenMP là trái ra. Bạn thậm chí có thể nhìn thấy một tùy chọn OpenMP còn lại trong trợ giúp để đặt ra các mục tiêu offloading, nhưng nó không hỗ trợ OpenMP.

$ clang++ --help | grep openmp 
    -fopenmp-targets=<value> 

Apple, bổ sung OpenMP sẽ là một lợi ích lớn đối với các nhà nghiên cứu khoa học! Sẽ phải tiếp tục sử dụng llvm từ bia.

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