First of all, you are measuring different stuff. Cuda requires time to be initialized on gpu and you should measure just the execution time. Sencondly, you are using very small matrices. GPU takes advantage of parallelization, but their cores are slower than a cpu, if you use a very small dimensionality you may get similar results.
Lastly, cuda has its own profiler, time is for cpu.