Мое понимание различий между процессорами и графическими процессорами заключается в том, что графические процессоры не являются процессорами общего назначения, так что если видеокарта содержит 10 графических процессоров, каждый графический процессор использует один и тот же программный указатель и оптимизирует параллелизм на GPU Мне нужно обеспечить, чтобы каждый графический процессор фактически выполнял тот же код.OpenCL и несколько видеокарт
Синхронизация не является проблемой на одной и той же карте, так как каждый графический процессор физически работает параллельно, поэтому все они должны быть выполнены в одно и то же время.
Вопрос, как это работает на нескольких картах? На скорости, с которой они работают, разве аппаратные средства не меняют время выполнения, так что вычисление на одном графическом процессоре на одной карте может закончиться быстрее или медленнее, чем тот же расчет на другом графическом процессоре на другой карте?
благодаря
Привет, Лукас, я могу быть смущен: o) .. Не могли бы вы прояснить один момент для меня. Когда вы ссылаетесь на GPU, это вычислительный блок на карте (CL_DEVICE_MAX_COMPUTE_UNITS с использованием clGetDeviceInfo) или же графический процессор относится к самой физической карте, которая может содержать множество вычислительных единиц? – mfc
@mfc, графический процессор - это весь графический чип (карта). Графический процессор состоит из 1 или более вычислительных единиц. Каждый вычислительный блок состоит из нескольких элементов обработки (или ядер). Вы должны прочитать руководства по программированию от AMD, NVIDIA и Intel, чтобы убедиться, что вы хорошо понимаете архитектуру. –