Phân kỳ chủ đề thuật ngữ được sử dụng trong CUDA; từ sự hiểu biết của tôi đó là một tình huống mà các chủ đề khác nhau được chỉ định để thực hiện các nhiệm vụ khác nhau và kết quả này trong một hit hiệu suất lớn.Phân tách chuỗi Openmp?
Tôi đã tự hỏi, liệu có một hình phạt tương tự cho việc này trong openmp? Ví dụ, nói rằng tôi có một bộ xử lý 6 lõi và một chương trình với 6 chủ đề. Nếu tôi có một điều kiện mà làm cho 3 chủ đề thực hiện một nhiệm vụ nhất định, và sau đó có ba chủ đề khác thực hiện một nhiệm vụ hoàn toàn khác nhau, sẽ có một hit hiệu suất lớn? Tôi đoán trong bản chất đó là loại sử dụng openmp để làm MIMD.
Về cơ bản, tôi đang viết một chương trình có openmp và CUDA. Tôi muốn hai chủ đề để chạy một hạt nhân CUDA trong khi khác còn lại trên chủ đề chạy mã C. Cảm ơn.
Chỉ cần tò mò, làm cách nào để thực hiện điều này trong OpenMP? Tôi biết bạn đã trả lời câu hỏi của bạn rồi, nhưng thật tuyệt khi thấy một đoạn mã. –
Đây là chủ đề không chính xác, nhưng trước khi bạn làm cho mã máy chủ của bạn quá phức tạp, bạn có thể không cần nhiều hơn một chuỗi CPU cho CUDA - với lập trình CUDA 4.0 và sau nhiều GPU có thể được thực hiện từ một chuỗi máy chủ duy nhất, do đó, trừ khi bạn có công việc song song để làm ở phía máy chủ, nhiều chủ đề có thể không thêm bất cứ điều gì nhưng phức tạp. Nếu bạn có công việc song song để thực hiện trên CPU, bạn có thể sử dụng một luồng CPU cho CUDA và phần còn lại để làm CPU hoạt động song song. – harrism