学习内容:
利用cuda的cublas库,编写复数矩阵乘的代码
学习产出:
编写代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <cuda_runtime.h>
#include <cublas_v2.h>
#include <random>
// 设置随机种子。为了每次运行都得到相同的随机数,可以使用固定的值。
// 如果你想每次运行都得到不同的随机数,可以使用当前时间作为种子,例如 std::time(nullptr)。
// 创建一个分布对象,用于定义随机数的范围-10 到 10
unsigned seed = 100;
std::mt19937 generator(seed);
std::uniform_real_distribution<float> distribution(-10.0f, 10.0f);
// 辅助函数:生成随机复数
cuComplex getRandomComplex() {
float real = distribution(generator);
float imag = distribution(generator);
return make_cuComplex(real, imag);
}
// 初始化复数矩阵
void initComplexMatrix(cuComplex *data, int size) {
for (int i = 0; i < size;