【参加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

在这里插入图片描述

目录
相关文章
|
机器学习/深度学习 并行计算 API
【GPU】CUDA是什么?以及学习路线图!
【GPU】CUDA是什么?以及学习路线图!
4446 0
|
机器学习/深度学习 存储 安全
隐语小课 | 基于秘密分享的混合比特数学运算库-SIRNN介绍
隐语小课 | 基于秘密分享的混合比特数学运算库-SIRNN介绍
601 0
|
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月前
|
Ubuntu 定位技术 TensorFlow
源码编译安装ROCm以运行tensorflow-rocm(适用于Ubuntu 23.04)
总结一番,完成这趟奇妙的技术之旅后,乐趣多多,还能享受 tensorflow-rocm 带来的便利和速度。这趟旅程需要耐心,勇气,以及对技术的热爱。朋友,做好准备,让你的Ubuntu系统展翅高飞吧!
209 9
|
5月前
|
人工智能 并行计算 开发者
CUDA重大更新:原生Python可直接编写高性能GPU程序
NVIDIA在2025年GTC大会上宣布CUDA并行计算平台正式支持原生Python编程,消除了Python开发者进入GPU加速领域的技术壁垒。这一突破通过重新设计CUDA开发模型,引入CUDA Core、cuPyNumeric、NVMath Python等核心组件,实现了Python与GPU加速的深度集成。开发者可直接用Python语法进行高性能并行计算,显著降低门槛,扩展CUDA生态,推动人工智能、科学计算等领域创新。此更新标志着CUDA向更包容的语言生态系统转型,未来还将支持Rust、Julia等语言。
405 3
CUDA重大更新:原生Python可直接编写高性能GPU程序
|
存储 人工智能 缓存
大模型压缩量化方案怎么选?无问芯穹Qllm-Eval量化方案全面评估:多模型、多参数、多维度
【6月更文挑战第26天】无问芯穹Qllm-Eval评估了11个大模型(如OPT、LLaMA2)在多种参数配置和任务下的量化效果,探索权重量化、激活量化等方法对性能、速度和内存的影响。研究发现,W4、W4A8量化通常保持在2%的性能损失范围内,但最佳策略取决于模型大小、任务类型及硬件,提示了选择压缩方案时需灵活适应。[[arxiv.org/pdf/2402.18158.pdf](https://arxiv.org/pdf/2402.18158.pdf)]
346 6
|
JSON JavaScript 前端开发
DVWA JavaScript 通关解析
DVWA JavaScript 通关解析
|
安全 Linux 数据安全/隐私保护
详解如何登录Docker Registry
【8月更文挑战第24天】
1329 0
|
Linux 测试技术 Windows
LabVIEW对NI Linux RT应用程序性能进行基准测试
LabVIEW对NI Linux RT应用程序性能进行基准测试
267 0
|
并行计算 C++ Windows
windows10下visual studio 2019安装以及cuda11配置
windows10下visual studio 2019安装以及cuda11配置
1866 0