当前位置: 首页 > news >正文

基于WSL2、Ubuntu和VS Code的CUDA平台运行C语言程序

一、CUDA程序执行方法

执行步骤为:

  1. 安装Visual Studio Code。
  2. 在Visual Studio Code中安装插件WSL与电脑的WSL2进行连接。
  3. 点击左下角,然后再选择连接到WSL。
    在这里插入图片描述
  4. 在WSL中创建以 .cu 为后缀的文件。
root@DESKTOP-HR6VO5J:~# mkdir CUDA                   //创建CUDA文件夹
root@DESKTOP-HR6VO5J:~/CUDA# touch HelloWorld.cu     //在CUDA文件夹中创建程序文件

在这里插入图片描述

  1. 在Visual Studio Code中打开该文件,并进行代码的编写。
    在这里插入图片描述

  2. WSL中跳转到程序文件目录下。
    在这里插入图片描述

  3. 使用nvcc命令生成输出文件。
    在这里插入图片描述

  4. 执行该输出文件,与执行Linux中Shell脚本的方式相同。执行结果中,第一条输出结果为CPU输出,后面10条输出结果为GPU中的10个线程输出。
    在这里插入图片描述

二、CUDA程序编写方法

编写步骤为:

  1. 设置GPU线程
    • 内核执行配置(kernel execution configuration):<<<grid,block>>>。其中grid标识一个grid中有几个block,block表示一个block中有几个线程,两者相乘为线程数量,即 线程数量=grid * block。
    • 设置线程总数和线程布局
  2. 内核调用
    • 内核函数名<<<grid,block>>>(参数列表)
  3. 释放所有与当前进程相关的GPU资源
    • cudaDeviceReset

相关文章:

基于WSL2、Ubuntu和VS Code的CUDA平台运行C语言程序

一、CUDA程序执行方法 执行步骤为&#xff1a; 安装Visual Studio Code。在Visual Studio Code中安装插件WSL与电脑的WSL2进行连接。点击左下角&#xff0c;然后再选择连接到WSL。 在WSL中创建以 .cu 为后缀的文件。 rootDESKTOP-HR6VO5J:~# mkdir CUDA /…...

构建外卖系统小程序,订单管理功能实现步骤详解

外卖系统小程序是近年来越来越受欢迎的一种订餐方式&#xff0c;方便快捷&#xff0c;并且可以减少人与人之间的接触&#xff0c;更加卫生安全。为了搭建一个完善的外卖系统小程序&#xff0c;订单管理功能是必不可少的一部分。在本文中&#xff0c;我们将详细介绍如何实现订单…...

用asp.net开发h5网页版视频播放网站,类似优酷,jellyfin,emby

之前用jellyfin开源软件搞了一个视频播放服务器,用来共享给家里人看电影和电视剧,jellyfin虽然各方面功能都很强大,但是界面和使用习惯都很不适合,于是就想着利用下班休息时间做一套自己喜欢的视频网站出来. 本来是打算直接用jellyfin的源码进行修改,源码是用C# netcore 写的服…...

Redis—相关背景

Redis—相关背景 &#x1f50e;Redis—特性In-memory data structures—在内存中存储数据Programmability—可编程性Extensibility—可扩展性Persistence—持久化Clustering—集群High availability—高可用 &#x1f50e;Redis 为什么快&#x1f50e;Redis 的使用场景Real-tim…...

SSL 证书过期巡检脚本

哈喽大家好&#xff0c;我是咸鱼 我们知道 SSL 证书是会过期的&#xff0c;一旦过期之后需要重新申请。如果没有及时更换证书的话&#xff0c;就有可能导致网站出问题&#xff0c;给公司业务带来一定的影响 所以说我们要每隔一定时间去检查网站上的 SSL 证书是否过期 如果公…...

leetcode 面试题 01.03. URL化

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;面试题 01.03. URL化 思路&#xff1a; 计算出空格的个数&#xff0c;我们可以知道最后一个字符的位置 endPos&#xff0c;再从后 end 向前遍历若不是空格正常拷贝&#xff0c;是空格则替换成 %20&#xff0c;最终当空格…...

uni-app在小米手机上运行【步骤细节】

注意细节重点&#xff1a; 1.手机使用数据线与电脑连接&#xff0c;手机连接模式必须是传输文件模式 2.手机必须打开开发者模式 3.打开开发者模式后&#xff0c;仔细浏览并调整USB调试权限&#xff0c;重点打开USB是否允许安装按钮&#xff01;&#xff01;&#xff01; 操作步…...

微信小程序实现日历功能、日历转换插件、calendar

文章目录 演示htmlJavaScript 演示 效果图 微信小程序实现交互 html <view wx:if"{{calendarArr.length}}"><view class"height_786 df_fdc_aic"><view class"grid_c7_104"><view class"font_weight_800 text_align…...

【浩鲸科技】济南Java后端面经

本文目录 写在前面试题总览题目解析1.说一下SpringBoot中常用的注解2.Redis中的基本数据类型3.TCP的网络协议4.java中常见的锁5.Hashmap的底层数据结构、底层源码、扩容机制源码6.java面向对象的特点 写在前面 关于这个专栏&#xff1a; 本专栏记录一些互联网大厂、小厂的面试实…...

VMware搭建Hadoop集群 for Windows(完整详细,实测可用)

目录 一、VMware 虚拟机安装 &#xff08;1&#xff09;虚拟机创建及配置 &#xff08;2&#xff09;创建工作文件夹 二、克隆虚拟机 三、配置虚拟机的网络 &#xff08;1&#xff09;虚拟网络配置 &#xff08;2&#xff09;配置虚拟机 主机名 &#xff08;3&#xf…...

【Rust 基础篇】Rust关联类型:灵活的泛型抽象

导言 Rust是一种以安全性和高效性著称的系统级编程语言&#xff0c;其设计哲学是在不损失性能的前提下&#xff0c;保障代码的内存安全和线程安全。为了实现这一目标&#xff0c;Rust引入了"所有权系统"、"借用检查器"等特性&#xff0c;有效地避免了常见…...

学习笔记21 list

一、概述 有两种不同的方法来实现List接口。ArrayList类使用基于连续内存分配的实现&#xff0c;而LinkedList实现基于linked allocation。 list接口提供了一些方法&#xff1a; 二、The ArrayList and LinkedList Classes 1.构造方法 这两个类有相似的构造方法&#xff1a…...

微信小程序弱网监控

前言 在真实的项目中&#xff0c;我们为了良好的用户体验&#xff0c;会根据用户当前的网络状态提供最优的资源&#xff0c;例如图片或视频等比较大的资源&#xff0c;当网络较差时&#xff0c;可以提供分辨率更低的资源&#xff0c;能够让用户尽可能快的看到有效信息&#xf…...

【Linux】进程通信 — 共享内存

文章目录 &#x1f4d6; 前言1. 共享内存2. 创建共享内存2.1 ftok()创建key值&#xff1a;2.2 shmget()创建共享内存&#xff1a;2.3 ipcs指令&#xff1a;2.4 shmctl()接口&#xff1a;2.5 shmat()/shmdt()接口:2.6 共享内存没有访问控制&#xff1a;2.7 通过管道对共享内存进…...

“从零开始学习Spring Boot:快速搭建Java后端开发环境“

标题&#xff1a;从零开始学习Spring Boot&#xff1a;快速搭建Java后端开发环境 摘要&#xff1a;本文将介绍如何从零开始学习Spring Boot&#xff0c;并详细讲解如何快速搭建Java后端开发环境。通过本文的指导&#xff0c;您将能够快速搭建一个基于Spring Boot的Java后端开发…...

行为型-状态模式(State Pattern)

概述 状态模式是一种行为设计模式&#xff0c;它可以让对象在内部状态改变时改变它的行为。简而言之&#xff0c;状态模式允许对象在不同状态下更改其行为&#xff0c;而不需要通过使用大量的条件语句进行手动更改。 优点&#xff1a; 状态模式将与特定状态相关的行为分散到…...

大厂领导为什么喜欢跨层与下属聊天

作为一个在大厂里面浸淫十几年的loser&#xff0c;平时主要精力没用在技术提升上&#xff0c;对于大厂的人情世故各类八卦倒是研究的透彻。 如果你细心观察&#xff0c;会发现一些大的公司里面&#xff0c;领导喜欢跨层与下属去沟通聊天&#xff0c;我待过几家比较大的公司&am…...

Android 面试题 避免OOM(内存优化)三

&#x1f525; OOM介绍&#xff08;out of memory 内存溢出&#xff09;&#x1f525; Android和java中都会出现由于不良代码引起的内存泄露&#xff0c;为了使Android应用程序能够快速高效的运行&#xff0c;Android每个应用程序都会有专门Dalvik虚拟机实例来运行&#xff0c;…...

SpringBoot集成Lock4j 底层使用Redission 实现分布锁

Lock4j 在分布式系统中&#xff0c;实现锁的功能对于保证数据一致性和避免并发冲突是非常重要的。Lock4j是一个简单易用的分布式锁框架&#xff0c;而Redisson是一个功能强大的分布式解决方案&#xff0c;可以与Lock4j进行集成。 操作步骤 第一步&#xff1a;添加依赖 首先&…...

TortoiseSVN操作使用

说明 SVN常用于程序代码版本控制,由于业务需求需将生产资料通过SVN进行管控,涉及人员众多,权限分支管理需要细化,特此记录SVN的学习操作. 前言 版本控制是管理信息修改的艺术&#xff0c;它一直是程序员最重要的工具&#xff0c;程序员经常会花时间作出小的修改&#xff0c; 然…...

Pixel Epic · Wisdom Terminal保姆级教程:备份与恢复研报工程文件全指南

Pixel Epic Wisdom Terminal保姆级教程&#xff1a;备份与恢复研报工程文件全指南 1. 引言&#xff1a;为什么需要备份研报工程文件 在Pixel Epic Wisdom Terminal中&#xff0c;每一份研究报告都是你与AI贤者共同创造的智慧结晶。就像RPG游戏中的存档点一样&#xff0c;定…...

【读书笔记】《在远远的背后带领》

《在远远的背后带领》书话整理书名由来 "在远远的背后带领"这个书名&#xff0c;源于作者对十余年养育实践的回顾与思考。她发现&#xff0c;父母养育孩子容易走两个极端&#xff1a; 过度控制&#xff1a;强迫孩子按照自己的想法行事&#xff0c;结果双方俱疲&#…...

WSL 启动闪退问题排查

第一步&#xff1a;检查当前状态在开始折腾 BIOS 之前&#xff0c;我们先确认一下系统到底有没有识别到虚拟化。按下快捷键 Ctrl Shift Esc 打开任务管理器。点击左侧的“性能”图标&#xff0c;选择 “CPU”。看右下角的信息&#xff0c;找到 “虚拟化”&#xff1a;如果是“…...

CST仿真EIT电磁诱导透明:石墨烯建模与案例分析

CST仿真eit电磁诱导透明(包括石墨烯的建模) EIT石墨烯电磁诱导透明案例搞EIT仿真的都知道&#xff0c;传统金属结构虽然经典&#xff0c;但石墨烯的可调性才是现在的香饽饽——靠栅压就能调费米能级&#xff0c;相当于给器件装了个电控遥控器&#xff0c;在传感器、慢光器件里简…...

原神帧率解锁器:告别60帧限制,开启高刷新率游戏新时代

原神帧率解锁器&#xff1a;告别60帧限制&#xff0c;开启高刷新率游戏新时代 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 对于追求极致游戏体验的《原神》玩家来说&#xff0c;60帧的…...

SEKA与AdaSEKA:破解大模型注意力引导难题的新方案

【导语&#xff1a;在自然语言处理领域&#xff0c;让大模型重点关注提示词某句话存在挑战。爱丁堡大学等团队提出SEKA及其自适应变体AdaSEKA&#xff0c;解决了现有方法的延迟和显存瓶颈问题&#xff0c;为大语言模型发展带来新思路。】SEKA&#xff1a;改写Key向量引导注意力…...

集成Touchgal与快马平台,高效开发移动端富交互图片浏览组件

集成Touchgal与快马平台&#xff0c;高效开发移动端富交互图片浏览组件 最近在开发一个电商项目时&#xff0c;遇到了一个常见需求&#xff1a;商品详情页的图片浏览组件需要支持各种手势操作。传统的做法是从零开始编写手势识别逻辑&#xff0c;但这样不仅耗时&#xff0c;还…...

Obsidian表格处理革新:Excel插件的无缝集成方案

Obsidian表格处理革新&#xff1a;Excel插件的无缝集成方案 【免费下载链接】obsidian-excel 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-excel 在知识管理的日常工作中&#xff0c;你是否经常遇到这样的困境&#xff1a;在Obsidian中记录项目数据时&#…...

Windows 11本地Ollama大模型部署实战指南

1. Windows 11本地部署Ollama大模型的前期准备 最近在折腾本地大模型部署&#xff0c;发现Ollama这个工具确实挺适合新手入门的。相比其他复杂的部署方案&#xff0c;Ollama在Windows平台上的安装过程简单明了&#xff0c;而且支持多种主流开源大模型。不过在实际操作中&#x…...

多模态学习:结合文本和图像的旋转判断

多模态学习&#xff1a;结合文本和图像的旋转判断 1. 引言 你有没有遇到过这样的情况&#xff1a;拍了一张带文字的图片&#xff0c;结果发现方向不对&#xff0c;需要手动旋转才能正常阅读&#xff1f;传统的图像旋转判断方法往往只依赖视觉特征&#xff0c;对于包含文字的图…...