Why MEX 由于matlab的迭代器不太给力,Mathworks建议大家尽量将程序向量化。但是我们有时候需要使用for 循环,这时可以自己编写c代码再编译成mex文件。这样就可以在matlab中调用。同时以后的c模块也可以通过编写mex文件来与matlab交互。 Hello world! 下面是一段简单的c代码,可以把它保存为helloworld.c, 然后在matlab执行 mex helloworld.c 编译。然后运行 helloworld() //You can include any C libraries that you normally use #include "math.  阅读全文...

Thrust 是一个基于CUDA实现STL模板库。 今天在用的时候发现一个问题,后来解决了,记录一下以备将来使用。 问题就是:Thrust暂时不支持Debug信息生成。所以在调用Thrust的文件不能开启NVCC的-G开关。具体操作方式如下(以VS2010为例): 1.在Solution Explorer里面右击对应的.cu文件,然后进入properties->Configuration Properties-> Device->Generate GPU Debug Information,选择No. 否则可能出现各种Thrust::System_error   阅读全文...

上周六,去看《The secret life of Walter Mitty》(香港的译名坑爹不解释),突然看到Eyebar的广告。一时兴起,就去转了转。 Eyebar在iSquare的30楼,南海一号餐厅里面。地方不大。最有趣的是他们有一半是阳台,正好可以看到维港全景。坐在阳台边,看着维港夜色(冬天有点冷……),再来一杯Cocktail,一边品味着电影里那些有趣而温暖的情节,似乎寒风也变得温柔了些许。 可惜这里新年夜已经被包场了,不然去那里跨年一定别有一番趣味。 最后,贴一  阅读全文...

在VS中,要使用64位compiler编译程序,需要设置一下。下面是在StackOverflow上找到的一般步骤。 注意,64位编译器在Express版本的VS中是没有的。但是可以安装windows sdk来间接获取。 设置步骤如下: Project Properties-> Configuration Manager 在列表中找到project的名字,在platform 下拉菜单中,只能看到win32。 点击下拉箭头,选择<new> 在弹出的对话中,上面有个New Platform的下拉菜单,选择x64,一路OK保存,设置完成。 如果projec  阅读全文...