前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【参加CUDA线上训练营】——实验编写CUDA程序

【参加CUDA线上训练营】——实验编写CUDA程序

作者头像
云帆沧海
发布2024-01-17 17:19:26
720
发布2024-01-17 17:19:26
举报
文章被收录于专栏:编程杂记编程杂记

1.编写第一个程序 Hello CUDA

一般在CPU中写的程序:

代码语言:javascript
复制
#include <stdio.h>

void hello_from_cpu()
{
    printf("Hello World from the CPU!\n");
}

int main(void)
{
    hello_from_cpu();
    return 0;
}

利用CUDA写的程序

代码语言:javascript
复制
#include <stdio.h>

__global__ void hello_from_gpu()
{
    printf("Hello World from the GPU!\n");
}

int main(void)
{
    hello_from_gpu<<<1, 1>>>();
    cudaDeviceSynchronize();
    return 0;
}

2.编译

写完程序之后开始编译两种编译方法

1.nvcc

代码语言:javascript
复制
nvcc -arch=compute_72 -code=sm_72 hello_cuda.cu -o hello_cuda -run

2.Makefile

Makefile内容:

代码语言:javascript
复制
TEST_SOURCE = hello_cuda.cu

TARGETBIN := ./hello_cuda

CC = /usr/local/cuda/bin/nvcc

$(TARGETBIN):$(TEST_SOURCE)
	$(CC)  $(TEST_SOURCE) -o $(TARGETBIN)

.PHONY:clean
clean:
	-rm -rf $(TARGETBIN)
	-rm -rf *.o

命令行输入:make 然后生成一个可执行文件 接着输入:./hello_cuda 即可运行文件

再利用nvprof来查看性能:

代码语言:javascript
复制
nvprof ./hello_cuda
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-01-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.编写第一个程序 Hello CUDA
  • 2.编译
  • 1.nvcc
  • 2.Makefile
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档