Что такое NVIDIA Tesla и CUDA?
Я занимаюсь исследованием GPGPU и в настоящее время борюсь с вопросом, что же такое Tesla и CUDA. В статье "NVIDIA Tesla: унифицированная архитектура графики и вычислений" говорится, что архитектура Tesla была представлена вместе с GeForce 8800. При дальнейшем чтении я убедился, что это общая архитектура для графических карт NVIDIA. К сожалению, это не совсем так. На http://www.nvidia.com/object/why-choose-tesla.html они явно разделяют GeForce, Quadro и Tesla. И как все это связано с CUDA? Является ли это просто расширением для общих вычислений на графических процессорах, поддерживаемых аппаратным обеспечением с Cuda-C? Концепция SM, SIMT, синхронизация потоков, общая память, деформация и т. Д. С чем это связано? CUDA? Тесла? Кроме того, http://nvidia.custhelp.com/app/answers/detail/a_id/2133/~/what-is-the-difference-between-tesla-and-cuda%3F подчеркивает, что Tesla - это семейство продуктов, разработанных для высокопроизводительных вычислений и CUDA используется только программное обеспечение. Может кто-то прояснить, пожалуйста?
1 ответ
Nvidia, к сожалению, использует имя "Тесла" для двух разных вещей:
Это кодовое название архитектуры, используемой графическими процессорами серии GeForce 200.
Nvidia также представляет свою линейку высокопроизводительных вычислений под маркетинговым названием Tesla.
CUDA - это название программного обеспечения, которое позволяет выполнять вычисления общего назначения на графических процессорах Nvidia.
SM, SIMT, синхронизация потоков, общая память, деформация и т. Д. Действительно относятся к аспектам аппаратной архитектуры, используемой графическими процессорами Nvidia в течение последних 10 лет или около того. Тем не менее, вы часто сталкиваетесь с ними при программировании с использованием CUDA, поскольку модель программирования тесно отражает эти аппаратные аспекты для максимальной производительности.