我的NVIDIA开发者之旅——浅谈开发,我写你看

今日说"法" 2022-06-17 17:31:58

"我的NVIDIA开发者之旅” | 征文活动进行中.......

目录

NVIDIA的介绍

sdk的介绍

sdk与api的区别

cuda简述

cuda的安装

cuda编程

 结语


NVIDIA的介绍

NVIDIA控制面板如图:

 

NVIDIA控制面板是调节显卡,具备创新多媒体、应用和显示管理功能,同时也有诸多游戏特性的显卡驱动支持程序。开发者工具一般是指一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的特殊软件。从国内代表性的软件开发工具中,我们可以看出这一类产品的大致脉络,亚思捷的TNT平台开发工具:TNT平台的核心优势在于低成本的个性化,他可以同时向客户提供T——业务系统模板,即OA、CRM、文档管理、信息门户、在线考试等标准化的应用系统;N——开源组件包,即上述应用系统的源代码;T——开发工具,即基于微软Jupiter平台的快速开发工具,开发者可以通过界面属性设定的方法来完成对业务系统的快速开发,自动化生成C#和JAVA的二种语言的系统。显然,TNT中的两个“T”是业务的重点,而杀手锏则是低价。其他的软件开发平台工具与上述三种均大同小异,都是提供“标准化+行业化+个性化”的应用模式。从中我们看出,这些软件开发工具确实都非常具有我们在上文中提到的技术共性,另外我们还都具有一个共同点,那就是他们既提供软件开发工具平台,又提供基于该平台生成的各种应用系统,两种产品相辅相成。这种模式也是软件开发平台销售的主流模式。

sdk的介绍

“SDK即softwaredevelopmentkit,中文意思是软件开发工具包;SDK一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具集合。

sdk与api的区别

1、组成不同:sdk软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。API(应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。

2、用途不同:api目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。软件开发工具包一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具。

3、内容不同:为了使用API函数,就要有跟API所对应的 .h和 .lib文件,而SDK正是提供了一整套开发Windows应用程序所需的相关文件、范例和工具的“工具包”。SDK包含了使用API的必需资料,所以也常把仅使用API来编写Windows应用程序的开发方式叫作“SDK编程”。

个人理解补充:你调用了一个函数,这个函数不是你写的,那么这个函数就是api。
多个这种函数的提供方被称为lib,他们帮助你快速实现底层逻辑,而不需要你使用std去逐个实现。比如调用opengl画各种图像。然而也有大型的业务功能一键调用,它内部实现了各种逻辑,只是让你的程序能够快速实现复杂的业务功能。比如后台的语音合成功能。这种对业务提供api的玩意叫sdk。lib与sdk的区别就是一个是提供底层实现,一个是提供业务实现。
当你决定一个项目需要怎样设计才能保证性能,安全,扩展。各个环节用什么技术,什么lib,什么sdk的时候,这个玩意叫架构。不同于api,lib,sdk可以是黑盒的,架构必须是透明的。

cuda简述

CUDA 是 NVIDIA 发明的一种并行计算平台和编程模型。它通过利用图形处理器 (GPU) 的处理能力,可大幅提升计算性能。

cuda的安装

看文字不如看视频,所以大家可以跟着下面视频链接去安装cuda

视频教程链接:【CUDA安装/多CUDA兼容】Windows深度学习环境配置_哔哩哔哩_bilibili

注意如果是AMD芯片是不能下载安装cuda的,为什么呢?这可能涉及inter与amd的爱恨情长的历史了,这里就不展开说了。

cuda编程

定义和调用核函数(伪代码)

__global__ void VecAdd(float*A,float*B,float*C)
{
    int a=threadIdx.x;
    C[a]=A[a]+B[a];
}
int main()
{
    VecAdd<<<1,100>>>(A,B,C);
}

 结语

谢谢各位的观看,这里只是非常简单地浅谈相关的NVIDIA开发和sdk的内容,甚至算不上冰山一角,更多精彩内容,待小编深入学习再给各位献上。

"我的NVIDIA开发者之旅” | 征文活动进行中.......

...全文
500 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2022-06-18
  • 打赏
  • 举报
回复 1
666
Jiangjun5555 2022-06-17
  • 打赏
  • 举报
回复 1

不错不错,

今日说"法" 2022-06-17
  • 举报
回复 1
@Jiangjun5555 加油,你也不错
机器未来 2022-06-17
  • 打赏
  • 举报
回复 2

get到了,点赞

秃秃爱健身 2022-06-17
  • 打赏
  • 举报
回复 1
真不错,支持
  • 打赏
  • 举报
回复 1
膜拜大佬(◦˙▽˙◦)
叶落秋白 2022-06-17
  • 打赏
  • 举报
回复 1
又学到了新知识
奇点 2022-06-17
  • 打赏
  • 举报
回复 2

写的真不错

啊Q老师 2022-06-17
  • 打赏
  • 举报
回复 1
人才
小鹏linux 2022-06-17
  • 打赏
  • 举报
回复 1
写得很好,支持
KJ.JK 2022-06-17
  • 打赏
  • 举报
回复 1

写的不错啊,很有帮助

1,337

社区成员

发帖
与我相关
我的任务
社区描述
NVIDIA 开发者技术交流
人工智能 企业社区
社区管理员
  • nvdev
  • 活动通知
  • AI_CUDA_Training
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧