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

简介: 实验编写CUDA程序

1.编写第一个程序 Hello CUDA

一般在CPU中写的程序:

#include <stdio.h>

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

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

利用CUDA写的程序

#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

nvcc -arch=compute_72 -code=sm_72 hello_cuda.cu -o hello_cuda -run

2.Makefile

Makefile内容:

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来查看性能:

nvprof ./hello_cuda

在这里插入图片描述

目录
相关文章
|
关系型数据库 MySQL 网络安全
|
Prometheus 监控 Cloud Native
【监控利器Prometheus】——Prometheus+Grafana监控SpringBoot项目JVM信息
Prometheus+Grafana监控SpringBoot项目JVM信息 1. SpringBoot项目配置JVM采集 2. Prometheus配置 3. 配置grafana 4. 扩展-通过JMX Exporter监控JVM信息
【监控利器Prometheus】——Prometheus+Grafana监控SpringBoot项目JVM信息
|
4月前
|
存储 弹性计算 人工智能
阿里云服务器多少钱一年?新老用户差价惊人,2026优惠政策解读
2026年阿里云服务器价格大解析:轻量新用户38元/年起,ECS普惠款99元/年;新老用户价差显著,多年付低至3折。本文详解轻量与ECS年付价格表,附5大实测省钱技巧——抢秒杀、选多年付、避按量坑、叠优惠券、按需配配置,助个人开发者、学生及中小企业精准控本、低成本上云。(240字)
355 2
|
虚拟化
ESXI 6.0使用指南
关于如何开启和使用ESXI 6.0的WebUI以及进行基本操作的指南。
1063 2
ESXI 6.0使用指南
|
存储 编译器 C++
【c++】类和对象(中)(构造函数、析构函数、拷贝构造、赋值重载)
本文深入探讨了C++类的默认成员函数,包括构造函数、析构函数、拷贝构造函数和赋值重载。构造函数用于对象的初始化,析构函数用于对象销毁时的资源清理,拷贝构造函数用于对象的拷贝,赋值重载用于已存在对象的赋值。文章详细介绍了每个函数的特点、使用方法及注意事项,并提供了代码示例。这些默认成员函数确保了资源的正确管理和对象状态的维护。
959 4
|
机器学习/深度学习 算法 开发工具
【YOLOv8量化】普通CPU上加速推理可达100+FPS
【YOLOv8量化】普通CPU上加速推理可达100+FPS
2540 0
|
算法 大数据 Python
局部异常因子(LOF)
局部异常因子(LOF)
|
机器学习/深度学习 算法 PyTorch
Pytorch-SGD算法解析
SGD(随机梯度下降)是机器学习中常用的优化算法,特别适用于大数据集和在线学习。与批量梯度下降不同,SGD每次仅使用一个样本来更新模型参数,提高了训练效率。本文介绍了SGD的基本步骤、Python实现及PyTorch中的应用示例。
1221 0
|
机器学习/深度学习 测试技术 PyTorch
深度学习之测量GPU性能的方式
在深度学习中,测量GPU性能是一个多方面的任务,涉及运行时间、吞吐量、GPU利用率、内存使用情况、计算能力、端到端性能测试、显存带宽、框架自带性能工具和基准测试工具等多种方法。通过综合使用这些方法,可以全面评估和优化GPU的性能,提升深度学习任务的效率和效果。
1564 3