问题标签 [aleagpu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
136 浏览

c# - 属性 [GpuManaged] 在运行时抛出异常

我得到了Found more than one basic block without predecessors例外:

在此处输入图像描述

尝试执行以下代码时:

可能是什么问题?[GpuManaged]不使用时不抛出异常

  • 赢得 10 x64
  • alea 3.0.4
  • alea.fody 3.0.4
  • fsharp.core 4.3.4
  • geforce GT 710
0 投票
1 回答
484 浏览

c# - 是否可以在带有 .NET Core 的 Linux 上使用 Alea GPU?

是否可以通过定位.NET Core在 Linux 上使用Alea GPU

谢谢。

0 投票
0 回答
36 浏览

c# - AleaGPU 适用于矩形内的点

挑战是检查点数组(双 x,双 y)是否在矩形内。

在此处查看说明性图片.

有数学公式可以完成它,我已经使用 CPU 并行性实现了这一点,但是数千点的性能很难,因此我正在探索 gpu 路线。

想法?谢谢!

0 投票
2 回答
335 浏览

c# - 无法在 Alea GPU (C#) 中启动内核

我一直在参考 Alea GPU 网站 ( http://www.aleagpu.com/release/3_0_3/doc/gpu_programming_csharp.html ) 上的示例,但我无法启动内核。我相信我已经正确设置了所有内容,但即使他们的示例也会出现编译问题。

给定一个内核:

以及运行它的代码:

Visual Studio(2017 社区)抱怨:“Gpu”不包含“Launch”的定义,并且找不到接受“Gpu”类型的第一个参数的扩展方法“Launch”(您是否缺少 using 指令或程序集引用?)

我相信我已经正确设置了 Alea GPU。我使用 nuget 按照其网站( http://www.aleagpu.com/release/3_0_3/doc/installation.html)上的说明安装它和 Fody 。我还安装了 Alea GPU 所需的 F# 包。

我的安装正确吗?如果是这样,我是在使用过时的文档还是我尝试启动内核的方式有什么问题?

0 投票
1 回答
632 浏览

c# - 尝试使用 Alea GPU 查找大素数

当我尝试使用 Alea GPU 查找第 100,000 个素数时发生异常。如果我试图找到一个较小的素数,例如第 10,000 个素数,该算法就可以正常工作。

我正在使用 Alea v3.0.4、NVIDIA GTX 970、Cuda 9.2 驱动程序。

我是 GPU 编程的新手。任何帮助将不胜感激。

以下是异常详细信息:

System.Exception 发生 HResult=0x80131500 Message=[CUDAError] CUDA_ERROR_LAUNCH_FAILED Source=Alea StackTrace: at Alea.CUDAInterop.cuSafeCall@2939.Invoke(String message) at Alea.CUDAInterop.cuSafeCall(cudaError_enum result) at A.cf5aded17df9f7cc4c132234dda010fa7.Copy@98 -22.Invoke(Unit _arg9)
at Alea.Memory.Copy(FSharpOption 1 streamOpt, Memory src, IntPtr srcOffset, Memory dst, IntPtr dstOffset, FSharpOption1 lengthOpt)
at Alea.ImplicitMemoryTrackerEntry.cdd2cd00c052408bcdbf03958f14266ca(FSharpFunc2 c600c458623dca7db199a0e417603dff4, Object cd5116337150ebaa6de788dacd82516fa) at Alea.ImplicitMemoryTrackerEntry.c6a75c171c9cccafb084beba315394985(FSharpFunc2 c600c458623dca7db199a0e417603dff4, Object cd5116337150ebaa6de788dacd82516fa) at Alea.ImplicitMemoryTracker.HostReadWriteBarrier(Object instance) at Alea.GlobalImplicitMemoryTracker.HostReadWriteBarrier(Object instance) at A.cf5aded17df9f7cc4c132234dda010fa7.clo@2359-624.Invoke(Object arg00) at Microsoft.FSharp.Collections.SeqModule .Iterate[T](FSharpFunc 2 action, IEnumerable1 source) at Alea.Kernel.LaunchRaw(LaunchParam lp, FSharpOption 1 instanceOpt, FSharpList1 args) at Alea.Parallel.Device.DeviceFor.For(Gpu gpu, Int64 fromInclusive, Int64 toExclusive, Action 1 op) at Alea.Parallel.GpuExtension.LongFor(Gpu gpu, Int64 fromInclusive, Int64 toExclusive, Action1 op) at TestingGPU C:\Users..\source\repos\TestingGPU\TestingGPU\Program.cs 中的 .Program.Execute(Int32 t):
TestingGPU.Program.Main(String[] args) 的第 148 行

工作解决方案:

0 投票
0 回答
179 浏览

f# - F# 中的 AleaGPU 动态并行性?如何?

这可能是一个简单的问题,但我找不到任何关于这个主题的参考资料:如何从另一个内核中启动一个内核?. 我遇到的唯一相关示例是帖子:(Alea GPU 支持动态并行吗?),它提供了 C# 中的示例。

鉴于 F# 使用代码引用,我假设有一种直接的方法来执行我无法找到的此操作。

请提供建议,或将我指向相关资源。任何帮助将不胜感激。

问候。

0 投票
1 回答
1106 浏览

c# - 将 CPU Parallel.For 转换为 GPU Gpu.For

我在代码中创建了一个 CPU Parallel.For 循环,如下所示:

上面的代码工作正常,可以在我的 CPU 内核上运行。

希望我想使用“Alea GPU”库将此代码转换为 GPU For 循环。所以我尝试了以下方法:

您可以看到它与上面的代码完全相同,但将 Parallel.For 更改为 Gpu.Default.For。但是当我运行它时,我收到以下错误:

我不知道如何解决这个错误。任何帮助,将不胜感激。

更新我在 NineBerry 评论后尝试的内容:

所以事实证明问题可能是 Vector2 类型,因为它可能使用属性。所以我创建了自己的结构,它使用如下字段:

其余的代码与以前几乎相同。但我仍然得到相同的“i32 不是结构类型”。错误。

如果我放弃所有结构并改用浮点数组,则会出现同样的错误:

根据评论转储代码。创建该类的新实例应使其运行。您将需要安装 nuget ALEA 和 ALEA.FODY 。另外我认为你需要 FSharp.Core 来运行 Alea

0 投票
1 回答
142 浏览

c# - Alea GPU 可用内存

任何人都知道如何确定free/availableGPU 上的全局内存,类似于CUDA "cudaMemGetInfo(&free_byte, &total_byte);?.

我在Alea网站上搜索了 API,试图找到一个属性来确定空闲字节,但似乎没有任何东西符合要求。

谢谢。

0 投票
1 回答
280 浏览

c# - Alea GPU 内存分配限制

我正在使用带有 GTX-1081ti 的 Alea GPU,它具有 11GB 的全局内存。

当我使用该Alea Gpu.Default.Allocate方法在 GPU 上分配内存时,当我接近 3+ GB 时,我收到“内存不足”错误。

我的代码是:

这应该分配大约 8GB 的​​ GPU RAM,但它给出了 CUDA 内存不足异常。我尝试了较低的长度值,并且根据任务管理器的报告,GPU 专用内存在出现错误之前仅上升到大约 3 GB。

但是,当我对原始 CUDA 代码(在 Alea 之外)执行相同操作时,我的限制是 11 GB 的 80% 多一点,或者几乎是 9 GB(因为 W10 限制了分配)。

有谁知道为什么我在只有 3 GB 时会出现“内存不足”错误?

谢谢。

0 投票
0 回答
257 浏览

aleagpu - “‘发现了不止一个没有前辈的基本方块。” 使用我的 alea/c# 代码,我不知道为什么?

所以我试图用 Alea/C# 实现一些代码。目前,它是基本代码。我尝试了 Alea 网站上提供的教程和示例。这些示例工作得很好,但是当我编写自己的代码版本时,即使用随机游走并为每次游走动态定义步数时,它似乎不起作用。

我如下设置一个双精度数组并将其初始化为0:

然后我使用 gpumanaged 方法:

然后我使用并行函数,在 alea 网站上有大量示例。

但是,当我运行它时,我得到了错误:

源位置堆栈:

对此的任何帮助都会有所帮助。我对使用这些 gpu 架构非常感兴趣,但我整天都在努力解决这个问题,当我尝试不同的方法(例如启动内核和操作以及使用共享内存)时,我变得越来越困惑,但这些方法都不起作用。