2012-02-28 32 views
6

OpenMP được hỗ trợ trong GCC là cross-platform ... nhưng điều đó có nghĩa OpenMP được hỗ trợ trên tất cả các nền tảng mục tiêu? Cụ thể, iOS và Android ** ... khi điện thoại/máy tính bảng chuyển sang lõi tứ, không sử dụng tất cả các lõi trong trò chơi sẽ là một bất lợi lớn.OpenMP trên iOS/Android

** Là một tổ chức phi điện thoại di động phát triển Tôi không biết nếu bạn có thể viết C++ ứng dụng dành cho Android ở nơi đầu tiên?

Trả lời

3

này không nhất thiết phải là trường hợp. Ví dụ: http://groups.google.com/group/android-ndk/browse_thread/thread/a547eac5446035b4?pli=1

OMP không được hỗ trợ trên tất cả các nền tảng mục tiêu GCC. Nó chắc chắn không có sẵn cho Gameboy Advance, ví dụ, mặc dù GCC có thể nhắm mục tiêu kiến ​​trúc ARM/Thumb. Ở bên iOS, tôi không chắc liệu OMP có được hỗ trợ hay không, nhưng Apple có lẽ sẽ khuyến khích mạnh mẽ việc sử dụng thư viện Grand Central Dispatch của họ với việc tập trung vào xếp hàng nhiệm vụ không đồng bộ (Apple thực sự đẩy nó một cách lý tưởng) các ứng dụng đó sẽ không bao giờ dừng và hiển thị biểu tượng tải khác với các vòng song song để tăng tốc độ xử lý tuần tự).

Là nhà phát triển không di động, tôi không biết bạn có thể viết ứng dụng C++ cho Android ngay từ đầu không?

Có, C và C++ với NDK của Android là hai ngôn ngữ được hỗ trợ để tạo ứng dụng Android gốc, trong khi iOS tập trung vào C, C++ và Objective-C.

+0

Về libs của Apple - tôi đặc biệt cần mã hoạt động trên các nền tảng khác nhau và tôi tưởng tượng công cụ của Apple khác đủ để nó giới thiệu quá nhiều vấn đề. Không phải là điểm mà GCC có thể làm cho triển khai iOS OpenMP _use_ GCD? –

+0

Đó là sự thật. Song song OMP cơ bản của bạn cho có thể được thực hiện bằng cách sử dụng các khối mã và GCD trong lý thuyết ít nhất với dispatch_apply. Tuy nhiên, tôi không thấy bất kỳ sự hỗ trợ nào cho nó trong clang và Apple có xu hướng là một chút quái dị kiểm soát độc quyền vì vậy tôi không chắc chắn có bao nhiêu hy vọng chúng ta có thể nhìn thấy hỗ trợ OMP trong tương lai gần. Khi Apple tạo ra một cái gì đó giống như GCD, họ đang nói chung sẽ đẩy nó ủng hộ của nhiều giải pháp đa nền tảng dựa trên những gì tôi đã nhìn thấy các hồ sơ theo dõi của họ. – stinky472

+0

Nếu bạn đang tìm kiếm các giải pháp di động, bạn có thể tốt nhất với thứ gì đó có thể ngồi trên đỉnh C++ như trường hợp với các khối xây dựng chuỗi không yêu cầu trình biên dịch thực sự thừa nhận sự hiện diện của nó để hoạt động. – stinky472