《HarmonyOS:领航者说》技术公开课来啦,大咖分享、实战解码,不容错过 了解详情
写点什么

使用 GPU.NET 针对 GPU 编程

  • 2010-12-16
  • 本文字数:1264 字

    阅读完需:约 4 分钟

GPU.NET 是为.NET 开发者提供的、整合在 Visual Studio 2010 中的托管解决方案,它的目标是为 GPU 创建带有增强计算功能的应用程序。

GPU.NET 是为了创建运行在 GPU 上的 HPC.NET 应用程序的托管解决方案。 GPU.NET 为在 Visual Studio 2010 中编写 C#或者 VB.NET 应用程序的开发者提供了智能支持。得到的汇编程序会使用汇编处理器进行预处理,它会向 GPU.NET 运行时中注入引用,从而把汇编程序编译为本地代码,并且管理它在现存 GPU 设备上的运行。 如果没有在系统中找到 GPU 设备,那么程序就会回到 CPU 上运行。 所有 GPU 设备都有设备驱动,因此针对它来编程更合理,这样会比生成 CUDA 或者 OpenGL 的代码更好,因为那还需要用户安装其它的 SDK。

GPU.NET 拥有一个插件的架构,从而支持其它设备,据开发 GPU.NET 的公司 TidePowerd 的 CEO 和共同创始人 Jack Pappas 所说:

我们的运行时对硬件支持使用了插件架构。 在发布的 beta 测试版中,我们只拥有针对具有 nVidia CUDA 能力的硬件的插件,但是我们会与 AMD 协作,创建同样支持他们的硬件的插件(我们会在 beta 测试阶段最后的某个时候提供,但是会在发布 V1.0 之前)。 有了这个基于插件的设计,我们就可以很容易地为现存的基于硬件的加速卡(比方说:IBM Cell,或者给予 FPGA 的卡)添加支持,或者为可用的新硬件(例如:Intel 的“Knight’s Corner”)添加支持。

这种设计对于运行时的另一种重要的意义在于,我们可以让你部署给最终用户的硬件加速代码运行得更快,而只需要对插件做出更新;这样的更新可能会包括缺陷修正、新的设备代码的 JIT 编译器优化,或者对硬件驱动的特定版本中可用的新 API 的支持。 注意到这个更新过程对于开发者和最终用户来说,完全是透明的。

GPU.NET 当前运行在 Windows 上,但是它也会通过 Mono 运行在 Mac 和 Linux 上。 对于 API,Pappas 提到:

使用 GPU.NET 的开发者,需要学习一些 API,然后才能使用这个系统。 其中保留了像 CUDA/OpenCL 的抽象,但是我们已经设计了 API,使其拥有“本地的”.NET 样式和感受,这样,没有 GPU 开发经验的.NET 开发者也可以快速上手,并开始编写拥有 GPU 加速的代码。

例如在 CUDA 中:

int tid = blockDim.x * blockIdx.x + threadIdx.x;

在 C#中,使用 GPU.NET:

int ThreadId = BlockDimension.X * BlockIndex.X + ThreadIndex.X;

我们还没有最终完成会暴露更高等级的功能——像并行要素(与 Thrust 类似)——的 API;在接受一些用户反馈之后,我们会在 beta 测试过程中的某个时候完成它们。

对于许可,Pappas 告诉 InfoQ,GPU.NET 是一个:

商业化的产品,并且按照针对每个开发者的许可来销售;我们还会提供高级的,基于邀请的支持订阅,那是针对有技术问题,或者需要尽快得到缺陷修复的客户。 然而,我们已经开发出一些有用的工具和库,并在构建 GPU.NET 的时候内部使用,我们会在发布 1.0 版本之后的某个时间把它们作为开源项目发布。

他们不打算发布 GPU.NET 的源代码。 当前该产品还处于 Beta 测试阶段,他们计划在本年末或者明年初发布 GPU.NET 1.0。

查看英文原文: Targeting the GPU with GPU.NET

2010-12-16 08:105357
用户头像

发布了 340 篇内容, 共 139.4 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

探索淘宝API:如何高效获取商品类目信息

代码忍者

袋鼠云港口数智化解决方案发布,数智引领,加速“智变”

袋鼠云数栈

融云「北极星」专业版:指标异常及时告警,趋势变化预先知悉

融云 RongCloud

简述大前端技术栈的渲染原理

京东科技开发者

小间距LED显示屏,我们还可以了解哪些

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家 户内led显示屏 市场

向量检索服务-应用场景

DashVector

人工智能 数据库 向量检索 大模型

Netty 如何自动探测内存泄露的发生

bin的技术小屋

内存泄露 Netty 内存泄露检测 netty内存管理 Java.

在使用Alt+Tab切换程序时 Windows 11 24H2会出现黑屏

吴脑的键客

windows Windows 10 Windows11

安全、合规!华为云助力源康健加速医疗产业数智化转型

YG科技

一文理解布隆过滤器和布谷鸟过滤器

京东科技开发者

如何用CST自带宏提取材料的DK,Df值

思茂信息

cst cst使用教程 cst电磁仿真 cst仿真软件

第73期 | GPTSecurity周报

云起无垠

HyperWorks的实体几何创建与六面体网格剖分

智造软件

Hypermesh 仿真分析 有限元

实战指南:高效高并发批量采集1688商品详情接口

代码忍者

API 接口 pinduoduo API

Schema Free

DashVector

人工智能 大数据 AI 向量检索 大模型

Agent 智能体开发框架选型指南

Baihai IDP

程序员 AI 智能体 Agents

创元集团携手火山引擎,数据飞轮驱动美妆品牌数字化转型

字节跳动数据平台

大数据 数智化转型 数字化平台 企业 AI 应用

融云:社交泛娱乐出海机会尚存,跨境电商异军突起

融云 RongCloud

探讨拼多多商品 API 接口:运用及收益

科普小能手

API接口工具 API 接口 API 测试 pinduoduo API 拼多多API

GreptimeDB v0.9 重磅发布|引入日志存储引擎,支持日志指标数据联合分析!

Greptime 格睿科技

云原生 时序数据库

云计算与低代码:实现无缝集成与高效部署的最佳实践

天津汇柏科技有限公司

云计算 低代码

glibc 内存分配与释放机制详解

vivo互联网技术

开源 glibc 内存管理 内存泄漏

产品经理应该是“全才”还是“专才”?

科技热闻

JinaCLIP×Milvus:手把手教你搭建多模态RAG系统

Zilliz

多模态 rag clip模型 jinaclip

达摩院发布八观气象大模型:精度达1小时1公里,率先落地新能源场景

吴脑的键客

人工智能 阿里巴巴

AI对话魔法|Prompt Engineering 探索指南

京东科技开发者

条件过滤检索

DashVector

向量检索 大模型 向量数据库

【EMNLP2024】面向长文本的文视频表征学习与检索模型 VideoCLIP-XL

阿里云大数据AI技术

人工智能 自然语言处理 阿里云 论文 EMNLP

使用GPU.NET针对GPU编程_.NET_Abel Avram_InfoQ精选文章