代码之家  ›  专栏  ›  技术社区  ›  Sean

良好的.NET库用于快速流式处理/批处理三角法(atan)?

  •  2
  • Sean  · 技术社区  · 14 年前

    我需要以每秒数百万的值调用atan。是否有一个好的库可以很快地批量执行此操作。例如,一个使用SSE之类的东西来流式处理低级逻辑的库?

    我已经分析了应用程序,我知道对atan的调用是一个瓶颈。

    我知道Opencl中对此有支持,但我更愿意在CPU上执行此操作。目标计算机可能不支持OpenCL。

    我也研究过使用opencv,但它对atan角的精度只有0.3度。我需要准确的结果。

    1 回复  |  直到 14 年前
        1
  •  1
  •   YellPika    14 年前

    你为什么不试试呢 Brahma ?据我所知,这是一个免费的开放源码GPGPU库,它不依赖于opencl,而是通过linq将代码转换为hlsl/glsl明暗器。

    编辑:示例代码:

    ComputationProvider provider = new ComputationProvider();
    CompiledQuery query = provider.Compile<DataParallelArray<float>>(
        data => from value in data
                select (float)Math.Atan(value)); // Do your calculations here...
    
    DataParallelArray<float> input = new DataParallelArray<float>(provider, new float[] { 0, 1, 2, 3, 4, 5, 6, 7, }); // etc...
    IQueryable result = provider.Run(query, input);
    
    foreach (float value in result)
        Console.WriteLine(value);