小编gpu*_*guy的帖子

错误D8016:'/ ZI'和'/ clr'命令行选项不兼容

我的程序中出现以下错误:

  error D8016: '/ZI' and '/clr' command-line options are incompatible
Run Code Online (Sandbox Code Playgroud)

当我在配置 - >常规中放入以下行并启用公共运行时(如果我不启用它然后使用system和System :: Drawing时会出现错误)

#using <system.drawing.dll>
using namespace System;
using namespace System::Drawing;
Run Code Online (Sandbox Code Playgroud)

实际上我将在我的代码中使用一些需要上面的dll的Windows库.

如何解决这个问题?

#include "opencv2/highgui/highgui.hpp"
#include <opencv2/imgproc/imgproc_c.h>
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
#include <ctype.h>
#using <system.drawing.dll>
using namespace System;
using namespace System::Drawing;
using namespace std;

int main( int argc, char** argv )
{
IplImage *source = cvLoadImage( "Image.bmp");
// Here we retrieve a percentage value to a integer
int percent =20;
// declare a destination IplImage object with correct …
Run Code Online (Sandbox Code Playgroud)

winapi opencv visual-c++

16
推荐指数
1
解决办法
2万
查看次数

barplot中的传说看起来不正确

heights1=c(5,5,4.5,4,4,4,4.5,2,4,4)

opar <- par(lwd = 0.3)

barplot(heights1,xlim=c(0,3), ylim=c(0,5),  width=0.1, 
main="Langauges(Verbal & Non-verbal)", 
names.arg=c("Spanish", "Speak" , "English","Speak", "Hindi", 
"Speak", "Arabic", "Speak",  "Body Lang", "Speak"), ylab="Skill level ", 
xlab="Language starting with mostly used", col=c("darkblue","red"),
cex.names=0.7,space=c(2,0,2,0,2,0,2,0,2,0))

legend("top",  c("darkblue","red"), c("reading/Writing", "Speaking")  );
Run Code Online (Sandbox Code Playgroud)

蓝色用于"读/写",红色用于"说".如何在图例中进行修正?(我不想在barplot函数中定义图例)

在此输入图像描述

r

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

什么是未对齐的指针?

据我所知,在以下行中,我们尝试写入无效的内存位置.但这实际上也是一个未对齐的指针.有人可以解释什么是未对齐的指针,以及下面的未对齐指针是什么?

*(int*)0xffffffff = 0xbad;
Run Code Online (Sandbox Code Playgroud)

c pointers alignment

15
推荐指数
1
解决办法
3435
查看次数

使用英特尔上的SSE2减少无溢出的无符号字节数

我试图在Intel i3处理器上找到32个元素(每个1字节数据)的总和减少量.我这样做了:

s=0; 
for (i=0; i<32; i++)
{
    s = s + a[i];
}  
Run Code Online (Sandbox Code Playgroud)

但是,由于我的应用程序是一个需要更少时间的实时应用程序,因此需要花费更多时间.请注意,最终金额可能超过255.

有没有办法可以使用低级SIMD SSE2指令实现这一点?不幸的是我从未使用过SSE.我试图为此目的搜索sse2函数,但它也不可用.(sse)是否可以保证减少这种小型问题的计算时间?

有什么建议??

注意:我已经使用OpenCL和CUDA实现了类似的算法,虽然问题规模很大,但效果很好.对于小型问题,开销成本更高.不确定它在SSE上是如何工作的

x86 sse simd sse2 sse3

13
推荐指数
2
解决办法
4952
查看次数

什么是灰度图像的BMP格式?

什么是灰度图像的BMP格式(特别是每像素16位)?在维基百科刚刚谈到的彩色图像为BMP.

更新:

只是为了更新和未来访问者的信息,我将选择PGM,因为它是未压缩的,可以支持16位灰度.另一种选择是使用PNG,但压缩数据(这不是我想要的)的讨论在这里.另请注意,图像可能会显得失真,因为大多数显示器支持256色而不支持4096(16位).所以图像会饱和.

令人惊讶的是,在16位图像的灰度级情况下,BMP 几乎无能为力.
感谢帮助我理解这个问题的人.

file-format image bitmap

13
推荐指数
1
解决办法
3万
查看次数

对齐图像卷积(OpenCL/CUDA)内核的GPU内存访问

为了理解如何确保对齐要求得到满足,我多次阅读以下文章,从OpenCL p.no:157中的异构计算一书.这显示了如何为图像卷积中的问题填充填充(假设工作组大小为16 x 16).

对齐记忆访问

NVIDIA和AMD GPU的性能均受益于全局内存中的数据对齐.特别是对于NVIDIA,在128字节边界上对齐访问和访问128字节段将理想地映射到存储器硬件.但是,在这个例子中,16宽工作组将只访问64字节段,因此数据应该对齐到64字节的地址.这意味着每个工作组访问的第一列应该从64字节对齐的地址开始.在此示例中,使边框像素不生成值的选择确定所有工作组的偏移量将是工作组维度的倍数(即,对于16 x 16工作组,工作组将开始访问列N*16处的数据) .为确保每个工作组正确对齐,

1 - 任何人都可以帮助我理解填充每个工作组访问的第一列后是如何从64字节对齐的地址开始的(上述段落中提到的要求,对吧?)?

2 - 该图也是正确的声明:对于16 x 16工作组,工作组将开始访问N*16列的数据.

如果正确,图中所示的工作组1,2应该开始访问第1x16列的数据,这与图中所示的相反.我完全糊涂了!! :(

更新: Q-2现在对我来说很清楚. 实际上图中显示的工作组是2,1(在opencl惯例中,第一列),所以它完全正确:2x16 = 32而不是我想的1x16.

但问题不是.1仍然没有答案.

在此输入图像描述

cuda gpgpu memory-alignment opencl gpu-programming

12
推荐指数
1
解决办法
3148
查看次数

尝试从给定的PNG图像中提取像素值

试图了解PNG格式.

考虑这个PNG图像:

在此输入图像描述

图像取自这里

在十六进制编辑器中,它看起来像这样:

89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 00 00 00 80 00 00 00 44 08 02 00 00 00 
C6 25 AA 3E 00 00 00 C2 49 44 41 54 78 5E ED D4 81 06 C3 30 14 40 D1 B7 34 DD FF FF 6F 
B3 74 56 EA 89 12 6C 28 73 E2 AA 34 49 03 87 D6 FE …
Run Code Online (Sandbox Code Playgroud)

png opencv image image-processing imagecreatefrompng

11
推荐指数
1
解决办法
1万
查看次数

我怎么知道我的OpenCL内核在GPU上运行?

我怎样才能100%确定我的opencl内核实际上是在GPU上运行而不是在CPU上运行.我无法理解这一点,因为openCL内核也可以在CPU上运行.这里有什么指示?

opencl

9
推荐指数
1
解决办法
3197
查看次数

为什么我们需要cudaDeviceSynchronize(); 在内核中使用device-printf?

__global__ void helloCUDA(float f)
{
    printf("Hello thread %d, f=%f\n", threadIdx.x, f);
}

int main()
{
    helloCUDA<<<1, 5>>>(1.2345f);
    cudaDeviceSynchronize();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么是cudaDeviceSynchronize(); 在很多地方例如这里 在内核调用后不需要它?

c cuda gpu nvidia

9
推荐指数
1
解决办法
9769
查看次数

CvMat和Imread Vs IpImage和CvLoadImage

使用OpenCv 2.4

我有两个加载图像的选项:

  1- CvMat and Imread

  2- IpImage and CvLoadImage    
Run Code Online (Sandbox Code Playgroud)

哪一个更好用?我尝试将两者混合并以seg故障结束.

opencv opencvdotnet

8
推荐指数
1
解决办法
2万
查看次数