Разница совсем противоположная на самом деле. Если вы сравните раздел 8 спецификации GLSL с разделом 6.12 спецификации OpenCL , вы увидите, что в математических операциях наблюдается значительное совпадение.
Однако GLSL имеет гораздо больше операций с битами и изображениями и предоставляет матричные операции, которых нет в OpenCL 1.2. С другой стороны, OpenCL имеет больше примитивов синхронизации и функций управления рабочей группой, которые не нужны в GLSL. Кроме того, OpenCL предоставляет меньшие и большие целочисленные типы, чем GLSL.
Кроме того, в Приложении C Руководства по программированию AMD APP OpenCL количество / типы доступных функций не указаны в качестве основного различия между шейдером и ядром.