Исследователи из Anandtech обнаружили в Nexus 4 и Nexus 10 недокументированные драйвера OpenCL. Попробуем объяснить в двух словах, что это такое: в современных смартфонах используются чипы, содержащие в себе одновременно CPU (процессор) и GPU (графический ускоритель). Процессор выполняет всю тяжелую вычислительную работу, в то время как графический ускоритель зачастую простаивает. То есть все его мощности работают, но вхолостую, если вы, конечно, не работает в графическом приложении. OpenCL, в свою очередь, является стандартом, позволяющим незадействованные мощности GPU перенести в помощь CPU для обработки данных. Это сильно упрощенное объяснение, но оно позволяет понять суть.
В итоге, благодаря OpenCL, ваш смартфон (или планшет) может работать гораздо быстрее и при этом меньше потреблять энергии от батареи. Фактически, это позволяет осуществить параллельные вычисления, такие же, что используются сегодня на стационарных ПК.
Но есть и некоторые проблемы: Google использует в Android Renderscript, а не OpenCL. Возможно, что OpenCL появился в API только лишь потому, что Qualcomm и ARM стали поддерживать эту технологию, а не потому что Google попросил их об этом. Более того, эти драйвера могут быть и вовсе удалены при будущем обновлении прошивки. Но с другой стороны, поскольку их уже изучают и, разумеется, «выдернули» из системы, поддержка OpenCL вполне может появиться в сторонних разработках. Например, в прекрасных CyanogenMod или ParanoidAndroid.
Но мы, конечно, надеемся, что OpenCL будет включен в поддержку Android 5.0 Key Lime Pie, который будет представлен в мае на Google I/O.