Merge pull request #2364 from khalednasr/feature/linalg

Implemented a class for GPU vectors
refactored linalg's dot product