На швейдерах - быстро, но тяжко. 
если вы шарите в С++ и у вас карточка nVidia, то CUDA вам в помощь. 
потраченное на ботанье матчасти время с лихвой окупится сильным упрощением в написании кода. 
потеряете в производительности не сильно. 
а вот TensorFlow в этом плане - барахло. 
не более 40% карты нагружает. К тому же без плясок с бубном TensorFlow GPU с CUDA подружить не получится, 
а без CUDA не будет GPU 
Если вам больше нравится Python, то там есть великолепно работающая Numba CUDA
 В сторону CUDA смотрю, спасибо. 
TF действительно не то, насколько я понял это фреймворк для вычислений на графах, то что я планирую реализовать структурно отличается слишком сильно.
-- 09.05.2018, 09:24 --Новые версии TensorFlow вроде как позволяют распределять память на карте правильным образом (мною не проверено) 
Граф вычислений в Python  - дело крайне полезное,  ибо там построчный интерпретатор, да и сам язык крайне медленный. 
А граф вычислений в TF компилируется целиком, что сильно ускоряет производительность. 
А вообще, в Python есть библиотека Keras, которая использует TF как бэкэнд и там реализована вся фундаменталка для нейросетей. 
Можно прямо блочно сетки собирать. Очень простой функционал. 
Работает это все конечно не сильно быстро, но для того чтобы освоиться с нейросетями и GPU этого для начала достаточно. 
Вот здесь есть подробнее: 
https://www.asozykin.ru/