CudaSharp —— 在 GPU 上允许你的 C# 代码
来源:互联网 发布:淘宝u站首页在哪里 编辑:程序博客网 时间:2024/06/05 18:51
CudaSharp 项目的目的是让你在支持CUDA的 GPU 上运行 C# 程序。
示例代码:
using System;using CudaSharp;using ManagedCuda;namespace CudaSharpTest{ static class Program { static void Main() { var ptx = CudaSharp.CudaSharp.Translate<int[]>(kernel); Test(ptx); Console.ReadKey(true); } static void store(int[] arr, int value) { arr[Gpu.ThreadX() + Gpu.BlockX() * Gpu.ThreadDimX()] = value; } // ReSharper disable once InconsistentNaming static void kernel(int[] arr) { var tid = Gpu.ThreadX() + Gpu.BlockX() * Gpu.ThreadDimX(); var val = arr[tid]; if (val != 0) store(arr, val + 3); } static void Test(byte[] ptxFile) { const int size = 16; var context = new CudaContext(); var kernel = context.LoadKernelPTX(ptxFile, "kernel"); var memory = context.AllocateMemory(4 * size); var gpuMemory = new CudaDeviceVariable<int>(memory); var cpuMemory = new int[size]; for (var i = 0; i < size; i++) cpuMemory[i] = i - 2; gpuMemory.CopyToDevice(cpuMemory); kernel.BlockDimensions = 4; kernel.GridDimensions = 4; kernel.Run(memory); gpuMemory.CopyToHost(cpuMemory); for (var i = 0; i < size; i++) Console.WriteLine("{0} = {1}", i, cpuMemory[i]); } }}
转自:http://www.oschina.net/p/cudasharp?utm_source=tuicool&utm_medium=referral
0 0
- CudaSharp —— 在 GPU 上允许你的 C# 代码
- 定义在GPU上的变量
- AES加密算法在GPU上的实现
- 在GitHub上分享和展示你的代码
- 在GitHub上分享和展示你的代码
- 在GitHub上分享和展示你的代码
- 在GitHub上分享和展示你的代码
- 在GitHub上分享和展示你的代码
- 在GitHub上分享和展示你的代码
- 在GitHub上分享和展示你的代码
- 在GitHub上分享和展示你的代码
- 在GitHub上分享和展示你的代码
- 在GitHub上分享和展示你的代码
- MATLAB上的GPU加速计算——学习笔记
- C# 程序只允许运行一个实例的正确代码
- C#代码实现在屏幕上画图的效果
- 把你的代码卸载到GPU(用GPU编程):如何开始
- ARToolkit—让初音在你的键盘上跳舞
- Linux部署初始化文档
- 写在2017展望与回顾
- SpringMVC详细示例
- View滑动效果常用属性详解:scroll、translation、LayoutParams
- iOS 开发 UITextField常用属性:文本框样式、文字样式、键盘样式、左右视图样式、清除按钮设置等
- CudaSharp —— 在 GPU 上允许你的 C# 代码
- 数据库自增列增大1000的原因及解决方法
- 有将数字游戏
- Chrome主页被劫持
- 2016你进步了吗?
- R数据导入方法及访问数据库管理系统
- 2016 个人总结
- stm32f103基础部分思维导图
- 正则表达式----RegExp类型, 代码说明简单易懂