| 34 | // cpu function of Ddot |
| 35 | template <typename T> |
| 36 | void DnMatDnMatDot( |
| 37 | DeviceDnTen<T>& dnmat3, DeviceDnTen<T>& dnmat1, const DeviceDnTen<T>& dnmat2, const size_s power, |
| 38 | const cudaStream_t& stream = (cudaStream_t) 0, int block_size = 1024 |
| 39 | ) { |
| 40 | int num_block = (dnmat1.total_size + block_size - 1) / block_size; |
| 41 | dnmat_dot_kernel<<<num_block, block_size, 0, stream>>>( |
| 42 | dnmat3.vals, dnmat1.vals, dnmat2.vals, dnmat1.total_size, power |
| 43 | ); |
| 44 | return; |
| 45 | } |
| 46 | |
| 47 | #endif // DENSE_MATDOT_H |