started implementing some GPU abstractions and moved test to C