小编AK_*_*AK_的帖子

寻找一个API来利用.NET的GPU的强大功能

我正在寻找一个很好的API来用于在GPU上实现算法.我更喜欢相关简单和灵活的东西.我不是在寻找最核心的表演,而是我可以玩的东西.另外我真的更喜欢在Nvidia和ATI卡上都有效的东西......


好的建议,特别是基于经验的建议可能会得到奖励.


目前我们讨论的算法是图像处理,即对非常大的矩阵的相关简单操作......

对我来说,我希望能够将PLINQ表达式带到GPU上,并且还有像System.Threading.Tasks.Parallel这样的API,它可以在GPU上执行...

我们大部分时间处于初步探索阶段......

再次工作跨平台几乎是一个要求......

.net c# parallel-processing gpu gpu-programming

7
推荐指数
1
解决办法
903
查看次数

添加到指针时出现意外结果

有人告诉我这段代码打印出29.为什么会这样?

int *a = 17; 
printf("%d", a+3);
Run Code Online (Sandbox Code Playgroud)

c undefined-behavior

6
推荐指数
3
解决办法
548
查看次数

如何使用IIS下的HTTP处理程序处理长时间运行的请求?

我需要在IIS中处理长时间运行的请求,处理请求本身非常轻量级,但主要是由于IO需要花费大量时间.基本上我需要查询另一台服务器,有时会查询第三台服​​务器.所以我想同时处理尽可能多的请求.为此,我需要异步处理请求如何正确处理?

使用Socket类我可以轻松地写出类似的东西:

// ..listening code
// ..Accepting code

void CalledOnRecive(Request request)
{
    //process the request  a little
    Context context = new Context()
    context.Socket  = request.Socket;
    remoteServer.Begin_LongRunningDemonicMethod(request.someParameter, DoneCallBack, context);
}

void DoneCallBack( )
{
    IAsyncresult result = remoteServer.Begin_CallSomeVeryLongRunningDemonicMethod( request.someParameter, DoneCallBack, context);

    Socket socket = result.Context.Socket;
    socket.Send(result.Result);
}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,一旦我调用"Begin ..."方法就释放线程,并且响应在另一个线程上发送,因此您可以轻松实现非常高的并发性.你如何在IIS内的HTTP处理程序中做同样的事情?

.net c# asp.net iis httphandler

6
推荐指数
1
解决办法
1399
查看次数

调试内存损坏

之前我在C(visual studio)中遇到了动态内存的问题.我有一个或多或少的工作程序,在释放其中一个缓冲区时会产生运行时错误.这是一个明显的内存损坏,程序写在缓冲区的末尾.

我的问题是,追踪是非常耗时的.在损坏之后错误被抛弃了,我不得不手动调试整个运行以找到缓冲区末尾何时被覆盖.

是否有任何工具\方式来帮助追踪此问题?如果该程序会立即崩溃我会发现问题更快...

问题的一个例子:

int *pNum = malloc(10 * sizeof(int));

//                 ||
//                 \/    
for(int i = 0; i < 13; i++)
{
pNum[i] = 3;
}

// error....
free(pNum);
Run Code Online (Sandbox Code Playgroud)

c memory-leaks memory-management visual-studio-2010 visual-c++

6
推荐指数
1
解决办法
9305
查看次数

F#类型提供程序构建速度非常慢

我正在使用Type Providers,特别是sql实体框架类型提供程序.我正在针对具有大量对象的数据库编写测试,并且它是远程的,因此连接速度有点慢.每次我构建项目都需要花费很多时间,构建完成需要几分钟.

我错过了什么编译器为什么不缓存类型信息?

PS F#interactive更糟糕......

.net f# type-providers

6
推荐指数
1
解决办法
756
查看次数

如何在C++中创建无限序列

我正在使用Visual Studio 2012,所以C++ 11基本上没问题......提升也很好,但我宁愿避免其他的libreries,至少不是widley使用过的.

我想以最优雅的方式创建一个只返回无限序列的前向迭代器.例如,所有自然数的序列.

基本上我想要这个f#代码的C++等效:

let nums =
    seq { while true do
            yield 1
            yield 2
        }
Run Code Online (Sandbox Code Playgroud)

上面的代码基本上创建了一个返回[1; 2; 1; 2 ...]的枚举器

我知道我可以通过写一个课来做到这一点,但是所有新的lambdas和所有......都必须有一个更短的方式......

c++ boost c++11

6
推荐指数
2
解决办法
2032
查看次数

枚举C中的结构字段

我在C中有几个结构,我想写下以下三个函数:

get_field_list(...)
get_value_by_name(...)
set_value_by_name(...)
Run Code Online (Sandbox Code Playgroud)

第一个应返回结构中定义的字段列表.第二个和第三个应该通过它的名称获取并设置到适当的字段.

我正在写结构.如果需要,我愿意使用任何宏魔法.如果生病每个结构都有三重函数,那就没关系,但通用结构更好.功能指针也很好......

基本上我想要结构的一些基本反思....

Relevent:https: //natecraun.net/articles/struct-iteration-through-abuse-of-the-c-preprocessor.html

动机

我正在尝试为用C编写的本机应用程序构建DAL(数据访问层).我使用SQLite作为数据库.我需要存储各种结构,并且能够插入\ update\get(按键选择)\ search(按查询选择),还可以创建\ drop所需的表.

基本上我想要像Hibernate for C ...

到目前为止,我最好的想法是使用MACRO或一些代码生成实用程序或脚本来创建我的结构以及可用于动态构建所有SQL命令的元数据.还有一个小的"通用"模块来实现我需要的所有基本程序......

不同或更好的想法来解决我的实际问题也将不胜感激!

c sqlite macros struct c99

6
推荐指数
1
解决办法
259
查看次数

在不使用类的情况下表示受限类型

在F#中,我可以在不定义类的情况下表示受限类型吗?假设我想表示第一个除以第二个数字的所有数字对.

在C#我能做到:

class PairDivides
{
    int a {get;private set;}
    int b {get;private set;}

    PairDivides(int first, int second)
    {
        if (a % b != 0)
        {
            throw new Exception();
        }

        this.a = first;
        this.b = second;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在创建一个不分割的PairDivides实例b是不可能的a......

这可以在F#中仅使用功能构造(记录,区分联合,可能是活动模式等)来完成吗?

我希望能够创建和接收类似这些对的东西,确保它们构造正确.

.net f# f#-4.0

6
推荐指数
1
解决办法
77
查看次数

c#线程间通信

您好我想要线程来协作生产者和消费者.消费者相当缓慢,生产者非常快,并且突然工作.

例如,消费者可以每20秒处理一个消息,并且生产者可以在一秒内产生10个消息,但是在很长一段时间内消息可以产生一次消息,因此消费者可以赶上.

我想要的东西:

Stream commonStream;
AutoResetEvent commonLock;

void Producer()
{
    while (true)
    {
        magic.BlockUntilMagicAvalible();
        byte[] buffer = magic.Produce();
        commonStream.Write(buffer);
        commonLock.Set();
    }
}

void Consumer()
{
    while(true)
    { 
        commonLock.WaitOne();
        MagicalObject o = binarySerializer.Deserialize(commonStream);
        DoSomething(o);
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading

5
推荐指数
2
解决办法
7775
查看次数

列表上的异步功能

我有一个看起来像这样的功能:

public async Task<decimal> GoToWeb(string Sym){}
Run Code Online (Sandbox Code Playgroud)

什么是在字符串列表中调用它的最佳方法?

c# async-await c#-5.0

5
推荐指数
1
解决办法
1979
查看次数