#include <stdio.h>
#define LEN 10
#define BLOCK 10
#define THREAD 32
__global__ void multi_0(int* A, int* B, int* C)
{
int id = blockIdx.x * blockDim.x + threadIdx.x;
if(id < LEN * LEN)
{
int sum = 0;
int i = id / LEN;
int j = id % LEN;
for(int k = 0; k < LEN; ++k)
{
sum += A[i * LEN + k] * B[k * LEN + j];
}
C[id] = sum;
}
}
int main()
{
int *A, *B, *C;
int memSize = LEN * LEN * sizeof(int);
int* a = (int*)malloc(memSize);
int* b = (int*)malloc(memSize);
int* c = (int*)malloc(memSize);
cudaMalloc((void**)&A, memSize);
cudaMalloc((void**)&B, memSize);
cudaMalloc((void**)&C, memSize);
for(int i = 0; i < LEN * LEN; ++i)
{
//a[i] = i + 1;
//b[i] = i<<1 + 1;
a[i] = 1;
b[i] = 1;
}
cudaMemcpy(A, a, memSize, cudaMemc
GPU计算矩阵相乘(未优化)
最新推荐文章于 2024-01-09 01:21:05 发布
本文探讨了如何使用GPU进行矩阵相乘的基础操作,但未涉及优化技术。通过介绍CUDA编程,阐述了如何利用多线程提升计算效率,同时讨论了在C语言中包含必要的头文件和库来实现GPU计算的步骤。
摘要由CSDN通过智能技术生成