Вычисления Cuda с несколькими графическими процессорами

Я новичок в программировании для нескольких GPU, и у меня есть несколько вопросов о вычислениях с несколькими GPU. Например, давайте возьмем пример скалярного произведения. Я запускаю поток ЦП, который создает 2 больших массива A[N] и B[N]. Из-за размера этих массивов мне нужно разделить вычисление их скалярного произведения на 2 графических процессора, оба Tesla M2050 (вычислительная мощность 2.0). Проблема в том, что мне нужно вычислить эти скалярные произведения несколько раз внутри цикла выполнения, контролируемого моим потоком ЦП. Каждое скалярное произведение требует результата предыдущего. Я читал о создании двух разных потоков, которые управляют двумя разными графическими процессорами по отдельности (как описано на примере cuda), но я понятия не имел, как синхронизировать и обмениваться данными между ними. Есть ли другая альтернатива? Буду очень признателен за любую помощь/пример. Заранее спасибо!

5
задан chemeng 4 March 2012 в 12:38
поделиться