Что такое GPU Computing и чем он полезен?
Чем отличаются процессоры и процессоры?
В принципе, и графические процессоры и центральные процессоры являются продуктами одной технологии. Внутри каждого устройства есть процессоры, состоящие из миллионов до миллиардов микроскопических электронных компонентов, преимущественно транзисторов. Эти компоненты образуют элементы процессора, такие как логические вентили, и оттуда встраиваются в сложные структуры, которые преобразуют двоичный код в сложный компьютерный опыт, который мы имеем сегодня.
Основное отличие процессора от графического процессора заключается в параллельности. В современном ЦБ вы найдете несколько сложных высокопроизводительных ядер ЦБ. Четыре ядра типичны для обычных компьютеров, но 6- и 8-ядерные процессоры становятся основными. Профессиональные компьютеры высокого класса могут иметь десятки или даже более 100 ядер ЦБ, особенно на многоразъемных материнских платах, которые могут вместить более одного ЦБ.
Каждое ядро ЦП может выполнять одну или (с гиперпоточностью) две вещи одновременно. Однако эта работа может быть практически любой, и она может быть очень сложной. Процессоры имеют широкий спектр возможностей обработки и невероятно разумные конструкции, которые делают их эффективными при решении сложной математики.
Современные графические процессоры обычно имеют тысячи простых процессоров. К примеру, графический процессор RTX 3090 от Nvidia имеет колоссальные 10496 ядер GPU. В отличие от ЦП, каждое ядро графического процессора относительно просто по сравнению и предназначено для выполнения типов вычислений, типичных для работы с графикой. Более того, все эти тысячи процессоров могут одновременно работать над небольшой частью проблемы воспроизведения графики. Это то, что мы подразумеваем под «параллелизмом».
Вычисление общего назначения на GPUS (GPGPU)
Помните, что процессоры не специализированы и могут выполнять какие-либо вычисления, независимо от того, сколько времени требуется для завершения работы. Фактически CPU может делать все, что может сделать GPU, он просто не может делать это достаточно быстро, чтобы быть полезным в графических программах реального времени.
Если это так, то в известной степени верно и обратно. Графические процессоры могут выполнять некоторые из тех же вычислений, которые обычно просим делать у процессоров, но поскольку они имеют конструкцию параллельной обработки, похожую на суперкомпьютер, они могут делать это на порядок быстрее. Это GPGPU: использование графических процессоров для выполнения традиционных рабочих нагрузок ЦП.
Основные производители графических процессоров (NVIDIA и AMD) используют специальные языки программирования и архитектуры, чтобы предоставить пользователям доступ к функциям GPGPU. В случае Nvidia это CUDA или Compute Unified Device Architecture. Вот почему вы увидите процессоры GPU, которые называются ядрами CUDA.
Поскольку CUDA является собственностью, конкурирующие изготовители графических процессоров, такие как AMD, не могут его использовать. Вместо этого графические процессоры AMD используют OpenCL или Open Computing Language) . Это язык GPGPU, созданный консорциумом компаний, в который входят Nvidia и Intel.
GPU в научных исследованиях
Вычисления GPU произвели революцию в том, что ученые могут производить с гораздо меньшими бюджетами, чем раньше. Интеллектуальный анализ данных, когда компьютеры ищут интересные модели в горах данных, получая представления, которые иначе были бы утрачены в шуме.
Такие проекты, как Folding@Home, используют время обработки домашнего графического процессора, дарованное пользователями, для решения серьезных проблем, таких как рак. Графические процессоры полезны для разного рода научных и инженерных симуляций, в завершение которых в прошлом понадобились годы, а на большие суперкомпьютеры тратились бы миллионы долларов.
Графические процессоры в области искусственного интеллекта
Графические процессоры также отлично подходят для определенных видов работы с искусственным интеллектом. Машинное обучение (ML) гораздо быстрее на графических процессорах, чем на обычных процессорах, а последние модели графических процессоров обладают еще более специализированным оборудованием машинного обучения, встроенного в них.
Одним из практических примеров того, как графические процессоры используются для развития приложений AI в реальном мире, является появление самоуправляемых автомобилей. По словам Tesla, их программному обеспечению Autopilot требовалось 70 000 часов GPU, чтобы «научить» нейронную сеть навыкам управлять транспортным средством. Выполнение такой же работы на процессорах было бы слишком дорогостоящим и длительным.
Графические процессоры в майнинге криптовалют
Графические процессоры также отлично разламывают криптографические головоломки, поэтому они стали популярны в майнинге криптовалюты. Хотя графические процессоры не производят криптовалюту так быстро, как ASIC (интегральные схемы, специфичные для программ), они имеют очевидное преимущество в том, что они универсальны. ASIC обычно могут мелькнуть только один конкретный тип или небольшую группу криптовалют и ничего больше.
Майнеры криптовалюты являются одной из главных причин того, что графические процессоры настолько дороги и их трудно найти, по крайней мере, на момент написания статьи в начале 2022 года. Почувствовать высоту технологии GPU означает дорого платить, а цена NVIDIA GeForce RTX 3090 составляет более 2500 долларов США. Проблема стала таковой, что NVIDIA искусственно ограничила производительность криптографии игровых графических процессоров и представила специальные продукты GPU для майнинга.
Вы также можете использовать GPGPU!
Хотя вы не всегда знаете об этом, некоторое программное обеспечение, которое вы используете ежедневно, перегружает часть обработки на ваш графический процессор. К примеру, если вы работаете с программным обеспечением для редактирования видео или инструментами для обработки аудио, велика вероятность, что ваш графический процессор несет часть нагрузки. Если вы хотите заниматься такими проектами, как создание собственных дипфейков дома, ваш графический процессор снова является компонентом, который делает это возможным.
Графический процессор вашего смартфона также отвечает за выполнение многих задач по искусственному интеллекту и машинному зрению, которые были бы отправлены на облачные компьютеры. Поэтому все мы должны быть благодарны, что графические процессоры могут сделать больше, чем нарисовать привлекательное изображение на вашем экране.