ubuntu22.04+cuda11.5+gcc11.4第一个cuda程序示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

VisualStudio 2019是微软的集成开发环境(IDE),通常在Windows操作系统上使用。然而,并不直接支持在Linux上安装。如果想在Ubuntu上进行开发,可以考虑以下几个选项:
使用替代的IDE或文本编辑器: Ubuntu上有许多适用于C++等编程语言的开发工具,比如

Visual Studio Code、 Code.:Blocks、 Eclipse等。

使用虚拟机或容器: 如果你非常需要使用Visual Studio 2019,可以在Ubuntu上安装虚拟机软件(比如VirtualBox) 或容器平台(比如Docker) ,然后在虚拟机或容器中运行Windows,再在其中安装Visual Studio 2019。

使用Wine: Wine是一款允许在Linux上运行Windows应用程序的兼容层。你可以尝试使用Wine来安装和运行Visual Studio 2019,但请注意,并不是所有Windows应用程序都能在Wine下正常工作作。

使用双系统: 如果你需要长期在Linux上开发,但又需要使用VisualStudio 2019,可以考虑在计算机上设置双系统,一边运行Ubuntu,一边运行Windows

使用nano 文本编辑器创建文件,然后在终端中进行运行代码

在这里插入图片描述

gcc cuda example.cu -o cuda example/usr/bin/ld:cuda_example.cu: file format not recognized; treating as linker script/usr/bin/ld:cuda example.cu:5: syntax errorcollecto: error:ld returned i exit status

类似于上述错误信息,说明使用
~gcc尝试编译CUDA代码文件cuda_example.cu’,

~gcc无法直接编译CUDA代码。
CUDA代码需要使用NVIDIA的nvcc~编译器进行编译,因为它包含了CUDA特定的语法和功能。
编译运行CUDA代码,您需要使用NVIDIA的~nvce”编译器,而不是gcc”。

利用nvcc编译运行代码的步骤

示例代码如下

//本示例演示了如何使用 OpenMP API 为多个 GPU 编写应用程序
#include <iostream>
#include <omp.h>
#include <stdio.h>  // 使用 stdio 函数,因为 C++ 流不一定是线程安全的
#define checkCudaErrors(err) __checkCudaErrors(err, __FILE__, __LINE__)

inline void __checkCudaErrors(cudaError_t err, const char *file, int line) {
   
    if (err != cudaSuccess) {
   
        std::cerr << "CUDA error at " << file << ":" << line << " - " << cudaGetErrorString(err) << std::endl;
        exit(EXIT_FAILURE);
    }
}

using namespace std;

//一个简单的kernel,只需将每个数组元素递增 b
__global__ void kernelAddConstant(int *g_a, const int b)
{
   
    int idx = blockIdx.x * blockDim.x + threadIdx.x;
    g_a[idx] += b;
}

//用于检查每个数组元素是否被设置为其索引加上 b
int correctResult(int *data, const int n, const int b)
{
   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值