-
Notifications
You must be signed in to change notification settings - Fork 16
Description
Description of the problem
Currently the code base has mixed up CUDA kernels with C++ class and the API is too confusing. Some changes are to be made summarised in the following points,
-
Remove
fillmethod from bothMatrixandVectorclasses - The first phase of refactoring should include removingfillmethod from both of these classes and their GPU counter parts and shifting it tooperationsmodule. This will avoid kernel calls inside class methods and the APIs forMatrixandVectorwill be unambiguous. -
Shift
productandmultiplyfunctions tooperationsmodule - The reason for doing this are similar to the above. -
Discuss API for using streams i.e., working on Using non-default streams in CUDA #2. Currently, methods like,
Vector.filldecipher from theblock_sizewhether to use GPU or not. Instead separate functions should be used for GPU and CPU with clean APIs.