| 78 | |
| 79 | template <typename T> |
| 80 | void dnmat_Ddot_colomn_batch( |
| 81 | const DeviceDnTen<T>& dnvec, DeviceDnTen<T>& dnmat1, const DeviceDnTen<T>& dnmat2, |
| 82 | const int mat_size_r, const cudaStream_t& stream = (cudaStream_t) 0, int block_size = 1024 |
| 83 | ) { |
| 84 | int num_block = (dnvec.total_size + block_size - 1) / block_size; |
| 85 | dnmat_Ddot_colomn_batch_kernel<<<num_block, block_size, 0, stream>>>( |
| 86 | dnvec.vals, dnmat1.vals, dnmat2.vals, |
| 87 | mat_size_r, dnmat1.dimensions[1], dnvec.dimensions[0]+1 |
| 88 | ); |
| 89 | return; |
| 90 | } |
| 91 | |
| 92 | #endif |