草庐IT

cuda-context

全部标签

c++ - 如何将 CUDA .cu 代码与 C++ 应用程序集成

这篇文章与我之前的文章非常相似:HowtoseparateCUDAcodeintomultiplefiles恐怕我在实际询问中犯了如此大的错误,以至于无法在那里尝试和更正它会太困惑。我将此代码松散地基于CUDASDK中的cppIntegration示例。我想要一个main.cpp和我的main()函数,并让它调用一个单独的.cu文件在GPU上做一些工作。在单独的.cu文件中,我希望它能够调用驻留在另一个.cu文件中的内核代码。我设想了三个文件:Main.cpp、KernelWrapper.cu和MyKernel.cu。用于测试目的的Main.cpp除了调用位于KernelWrapper

c++ - 使用 nvcc (CUDA) 编译 Eigen 库

我尝试使用nvcc(CUDA5.0RC)编译以下程序(main.cu):#include#includeintmain(intargc,char**argv){std::cout不幸的是,我收到了一堆警告和错误,我只能使用nvcc而不是Microsoft编译来解释。这个假设对吗?有什么办法可以用nvcc编译Eigen吗?(我实际上不想将特征矩阵传输到GPU,只是访问它们的成员)?如果使用nvcc编译Eigen不可行,是否有关于分离主机和设备代码的巧妙方法的很好的指南/教程?我正在使用CUDA5.0RC、VisualStudio2008、Eigen3.0.5。为了编译.cu文件,我同时使

c++ - openCV 2.4.9 与 CUDA 6.5 的编译错误

我正在运行安装了CUDA6.5的ubuntu14.04系统。我正在尝试使用OpenCV库的特征匹配的gpu实现,我的openCV库版本是2.4.9。cmake..没问题,但是当我想制作项目时,它会给我这样的错误:>/usr/local/include/opencv2/gpu/gpu.hpp:432:29:error:‘vector’does>notnameatypeCV_EXPORTSvoidmerge(constvector&src,>GpuMat&dst,Stream&stream=Stream::Null());>^/usr/local/include/opencv2/gpu/g

c++ - CMake 没有正确找到 CUDA 库

我正在尝试构建一个需要CUDA的程序。对于我提供的CMake脚本:cmake-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda..找到CUDA并且CMake正常运行:staudt~/workspace/clutbb/cluster/build$cmake-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda..--FoundCUDA:/usr/local/cuda(foundversion"6.5")--FoundIntelTBB--Boostversion:1.56.0--FoundthefollowingBoostlibrarie

c++ - CUDA 流和上下文

我目前正在使用一个生成一堆pthreads(linux)的应用程序,并且每个pthreads创建它自己的CUDA上下文。(现在使用cuda3.2)。我遇到的问题是,似乎每个线程都有自己的上下文,这会占用GPU上的大量内存。每个线程大约200MB,所以这真的限制了我。我能否简单地在主机线程中创建流,将流引用传递给工作线程,然后工作线程能够将它们的流编号传递给我的CUDA库,并且所有工作都在同一上下文中进行?工作线程是否自动知道与其父线程相同的CUDA上下文?谢谢 最佳答案 每个CUDA上下文确实会占用相当多的设备内存,并且它们的资源彼

c++ - CUDA 结果使用非常大的数组返回垃圾,但没有报告错误

我正在创建一个测试程序,它将创建一个设备和一个大小为n的主机数组,然后启动一个内核来创建n个分配常量值0.95的线程f到设备数组中的每个位置。完成后,将设备数组复制到主机数组,并对所有条目进行总计,并显示最终总计。下面的程序似乎适用于大约6000万个float的数组大小并很快返回正确的结果,但在达到7000万个时程序似乎会挂起一段时间并最终返回总数的NAN结果。在6000万次运行后检查主机阵列显示它正确填充了0.95f,但在7000万次运行后检查它显示它填充了NAN。据我所知,所有CUDA调用都不会返回错误。我使用的是2GBGT640m(Compute3.0),最大块大小为1024,最

c++ - CUDA 6.0 链接错误 : undefined reference to `__cudaUnregisterFatBinary'

我正在尝试在Eclipse中编译一个简单的CUDA程序。g++-L/opt/cuda/lib64-o"cuda_esn"./cu_cuda_test.o./main.o-lcuda-lstdc++如您所见,我正在链接-lcuda并设置库路径-L/opt/cuda/lib64。但不幸的是,我不知道为什么这没有编译。完整输出:18:36:35****IncrementalBuildofconfigurationDefaultforprojectcuda_esn****makeallBuildingfile:../cuda_test.cuInvoking:CUDANVCCCompilernv

java - SpringJUnit4ClassRunner 不会在 JUnit 测试用例结束时关闭 Application Context

我在JUnit4测试中使用SpringJUnit4ClassRunner,如下所示:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:/test-context.xml"})publicclassMyTest{@AutowiredprivateConfigurableApplicationContextcontext;@Testpublicvoidtest1(){...}@Testpublicvoidtest2(){...}...}但是,在此测试用例结束时,应用程序上下文

java - SpringJUnit4ClassRunner 不会在 JUnit 测试用例结束时关闭 Application Context

我在JUnit4测试中使用SpringJUnit4ClassRunner,如下所示:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:/test-context.xml"})publicclassMyTest{@AutowiredprivateConfigurableApplicationContextcontext;@Testpublicvoidtest1(){...}@Testpublicvoidtest2(){...}...}但是,在此测试用例结束时,应用程序上下文

ios - boundingRectWithSize :options:context: calculate size not consider NSParagraphStyle. firstLineHeadIndent

例如:importFoundationimportUIKitvarstr=NSString(string:"saldkjaskldjhf")varfont=UIFont.systemFontOfSize(14.0)varattributes:[String:AnyObject]=[NSFontAttributeName:font]varattriStrWithoutParagraph=NSAttributedString(string:str,attributes:attributes)varsize=attriStrWithoutParagraph.boundingRectWithS