You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,9 +20,9 @@ To compile it with __Openmp__ and enable Offlowding to GPUs, you will need to us
20
20
21
21
All arithmetic operations, self-operators, and comparisons excluding `==, !=` (for performance reasons) are now supported on GPUs.
22
22
23
-
Operation requiring xor reduction on single bytes (currently only __multiplication between a `Matrix` and a `Vector`__) have a performance disadvantage on GPUs because atomic xor for type `uint8_t`is not supported by Openmp on GPU (see [issue #1](https://github.com/jolatechno/binary_algebra/issues/1)), and so the use of `omp critical` was required which is a huge performance hit compared to `omp atomic`.
23
+
Atomic operations for type `uint8_t`are not supported by __Openmp__ on GPU (see [issue #1](https://github.com/jolatechno/binary_algebra/issues/1)). I finally found a work around for every operation, either by converting types, or by grouping operations together to only apply atomic operations on `long unsigned int`.
24
24
25
-
I will implement threshold for which will redirect operation to the CPU without Opnemp, the CPU with Openmp, or GPUs; according to the size of the `Matrix` or `Vector`.
25
+
I will implement threshold for which will redirect operation to the CPU without __Openmp__, the CPU with __Openmp__, or GPUs; according to the size of the `Matrix` or `Vector`.
inlineuint64_tMatrix::multiply_block_block(uint64_t block_left, uint64_t block_right) const { //changed to acomodate the switch in block indices, check the readme
inlineuint64_tVector::multiply_byte_byte(uint8_t vect_left, uint8_t vect_right) const { //changed to acomodate the switch in block indices, check the readme
0 commit comments