我正试图获得ILGPU与VB的工作。. NET,但我甚至挣扎与基本的变量声明从教程。
这是c#对内存缓冲区的声明。这很直接。
// Gets array of 1000 doubles on host.
double[] doubles = new double[1000];
// Gets MemoryBuffer on device with same size and contents as doubles.
MemoryBuffer<double> doublesOnDevice = accelerator.Allocate<double>(doubles);
VB。我有以下内容:
Dim context As New ILGPU.Context
Dim accel As ILGPU.Runtime.Accelerator = New CPUAccelerator(context)
Dim dataArray As Double() = {0, 1, 2, 4, 5, 6, 7, 8, 9}
Dim dataArrayDevice = accel.Allocate(Of Double)(dataArray)
我在最后一行得到一个错误,说&;是一个不支持的类型&;。我试着像这样分割它:
Dim dataArrayDevice As MemoryBuffer(Of Double)
dataArrayDevice = accel.Allocate(Of Double, dataArray)
,但它没有帮助。我在Double"的第一行看到错误,说also "unsupported type">
有没有人有一个基本的例子如何在ILGPU与VB.NET分配缓冲区?
谢谢
PS:我已经将项目设置为x64
我确认ILGPU不兼容VB.NET。你需要编写一个使用ILGPU的c#项目,并在你的VB项目中引用c#项目。
您还可以使用项目:https://github.com/MPSQUARK/DataScience
为任何。net语言提供功能。它使用ILGPU提供快速的即插即用解决方案,具有各种性能优化。然而,它是一个在制品。
寻求社区的帮助:
不和:https://discord.gg/X6RBCff
网站:https://www.ilgpu.net/
经过一番阅读,我得出的结论是ILGPU与VB.NET不兼容。
我的问题的解决方案是在我的VB项目中添加一个c#库,我只处理ILGPU。