Basic functionality working (minus batched cublas calls, committing to preserve mem managment functionality befor port to pycuda