Имеет ли смысл запускать на уровне ядра ОС вычисления на графическом процессоре?

Я заметил, что графический процессор может иметь сотни ядер, так что параллельные вычисления с ними можно значительно ускорить. Похоже, что в ядре ОС для ускорения не используются параллельные алгоритмы.

Люди выполняют параллельные вычисления в пользовательском темпе с помощью OpenMP, но почему не в пространстве ядра? Я предполагаю, что внутри ОС есть множество задач, требующих параллельной обработки, таких как обработка нескольких сетевых подключений и пакетов, выполнение операций криптографии, управление памятью, поиск? ... Некоторые брандмауэры фильтруют и контролируют сетевые потоки, сопоставляя шаблоны, ориентированные на исследования ОС может также проанализировать программу перед ее запуском, что отнимает много времени и может быть распараллелено.

Так почему же операционные системы не используют графические процессоры для повышения производительности и пропускной способности? Имеет ли смысл выполнять вычисления ОС на графическом процессоре?

11
задан Cody Gray 19 September 2017 в 17:44
поделиться