Tag: gpu

在C#中分析GPU使用情况

我正在编写一个使用EMGU的GpuInvoke方法进行GPU加速的C#应用​​程序。 我想分析我的代码,看看GPU上的负载和我正在使用的GPU内存量,但我找不到一个好方法。 看起来它应该很简单,但我无法弄清楚我错过了什么。 谢谢

使用GPU加速BigInteger计算

我几乎完成了一个处理一些非常大的整数的算法(大约2的数量增加到100,000,000的幂)。 这需要在16核服务器上使用几个小时的高度并行代码,并且内存足够,因为算法不是内存密集型的。 我使用.NET 4中的BigInteger类。 算法的细节并不重要,但对于上下文,以下是对这些整数执行的操作的非常详尽的列表以及算法的一些显着特征: 加法/减法。 大数乘以小数。 通过非常小的数字划分大数(例如2)。 基地2日志。 基地2力量。 两个或多个大数字的比较(最小/最大)。 没有任何关于素数的介入。 该算法专门设计为不占用大量内存,因为内存访问的性能损失超过了一些智能的即时计算。 然而,如果要改进内存访问,算法可以合理地受益。 我已经尽可能地优化了代码,现在分析只显示了两个瓶颈: 计算基数2记录如此大的数字。 检查这些数字中预定义的二进制数字模式。 这是因为访问BigInteger底层数据的唯一方法是首先使用ToByteArray而不是就地操作。 此外,在字节大小的块上操作也无助于提高性能。 考虑到内存访问和日志操作,我开始考虑GPU以及是否可以有效地卸载一些工作。 我对GPU知之甚少,只是它们针对浮点运算进行了优化。 我的问题是,使用像GPU .NET这样的库,如何在GPU上处理如此大的数字? 我可以以某种方式利用浮点优化来计算这么大的数字的Log吗? 寻找形成战略的起点。

有没有办法使用GPU调整图像大小?

有没有办法使用可通过.NET应用程序使用的GPU(图形卡)来调整图像大小? 我正在寻找一种非常高效的方法来调整图像大小,并且听说GPU可以比CPU(GDI +使用C#)更快地完成它。 是否有已知的实现或示例代码使用GPU来调整我可以在.NET中使用的图像?

遍历后加快数组查找速度?

我有一个123MB的大型int数组,它基本上是这样使用的: private static int[] data = new int[32487834]; static int eval(int[] c) { int p = data[c[0]]; p = data[p + c[1]]; p = data[p + c[2]]; p = data[p + c[3]]; p = data[p + c[4]]; p = data[p + c[5]]; return data[p + c[6]]; } eval()用不同的c调用很多(~50B次),我想知道是否(以及如何)我可以加速它。 我已经使用了一个不安全的函数和一个使用所有CPU 的固定数组 。 它是RayW的TwoPlusTwo 7卡评估器的C#端口。 C ++版本的速度微不足道。 […]

如何在C#中获取GPU信息?

我正在尝试制作一个软件来检查用户video图形卡的一些信息(如:GPU时钟速度,总线宽度等)。 我在TechPowerUp GPU-Z软件中看到了这些信息,以及您可以在下图中看到的一些SDK的名称: 适用于Nvidia的CUDA工具包7和适用于AMD的APP SDK 现在我有两个问题: 如何使用C#代码访问此信息? CUDA Toolkit 7和APP SDK是否有助于解决我的问题? 如果是的话,怎么样?

是否可以使用GPU加速(动态)LINQ查询?

我一直在寻找有关使用GPU加速LINQ查询的可能性的可靠信息。 到目前为止我已经“调查过”的技术: Microsoft Accelerator Cudafy 梵 简而言之,甚至可以对GPU上的对象进行内存中过滤吗? 假设我们有一些对象的列表,我们希望过滤类似的东西: var result = myList.Where(x => x.SomeProperty == SomeValue); 关于这个的任何指针? 提前致谢! UPDATE 我会尝试更具体地说明我想要实现的目标:) 目标是,使用任何技术,能够以绝对最快的方式过滤对象列表(范围从~50 000到〜2 000 000)。 在完成过滤(sum,min,max等)时对数据执行的操作是使用内置的LINQ方法完成的,并且对于我们的应用程序已经足够快,所以这不是问题。 瓶颈是“简单地”过滤数据。 UPDATE 只是想补充一点,我已经测试了大约15个数据库,包括MySQL(检查可能的集群方法/ memcached解决方案),H2,HSQLDB,VelocityDB(目前正在进一步调查),SQLite,MongoDB等,而NONE就足够了过滤数据的速度(当然,NO-sql解决方案不提供像sql那样,但你得到的想法)和/或返回实际数据。 只是总结一下我/我们需要的东西: 一种数据库,能够在不到100毫秒的时间内对200列和大约250 000行的数据进行排序。 我目前有一个带有并行化LINQ的解决方案,它能够(在特定的机器上)在过滤和处理结果时每行只花费纳秒时间! 因此,我们需要在每一行上进行亚纳秒级过滤。 为什么只有内存LINQ能够提供这个? 为什么这不可能? 日志文件中的一些数字: Total tid för 1164 frågor: 2579 这是瑞典语并翻译: Total time for 1164 queries: 2579 这种情况下的查询是这样的查询: WHERE SomeProperty = SomeValue […]

如何将NVIDIA核心温度设为整数值?

我正在参加Arduino微控制器课程,我正在研究我的最终项目:一个根据shell温度工作的自动计算机冷却系统。 我无法使用以下来源获取我的NVIDIA GPU核心温度: 此MSDN链接或此NVIDIA链接 。 如何获得GPU的温度值? 我在C#中的知识是基本的,我无法从该手册的尾部或MSDN中的代码示例中找到答案。