Machine Learning, Deep Learning, Theano, TensorFlow, Framework.
BLAS / cuBLAS and cuDNN extensions With all the above components, you can stop right now and have a fully functional Deep Learning framework. It would be able to take data as input and convert to tensors, perform operations on them in an efficient way, compute gradients to learn and return back