Так же, как CUDA или Stream, OpenCL должен поддерживаться драйвером. Большинство графических процессоров с поддержкой CUDA поддерживают OpenCL с довольно современным драйвером (CUDA 1.0 и выше).
Фактически, если вы скомпилируете, скажем, CUDA SDK 4.1, вашим конечным пользователям потребуются более новые драйверы, чем если бы вы использовали OpenCL.
Кроме того, OpenCL не привязан ни к какой архитектуре графического процессора. Хотя это может быть проблематично для специально разработанных алгоритмов, оно не должно оказывать очень сильного влияния на обычные программы конечных пользователей.
По крайней мере, с CUDA вы можете компилировать только код, оптимизированный для текущей известной основной версии. Компиляция ядер OpenCL на компьютере конечного пользователя может позволить оптимизировать новые двоичные спецификации в будущем.
Сбои автора в ответах на вопросы, заданные для Nvidia OpenCL, обычно происходят много, если ресурсы не освобождаются должным образом. Я видел подобные сбои, пока не исправил утечку, которая не высвобождала созданные ядра.
Я не говорю, что это единственная причина, по которой он может рухнуть, но, кроме ошибок программиста, он кажется мне достаточно стабильным.