请问这个是CUDA没有配置好吗

这是报错:
TypeError: No matching version. GPU ufunc requires array arguments to have the exact types. This behaves like regular ufunc with casting='no'.
最近刚刚CUDA,接触我的卡是GeForce1050, CUDA Toolkit9.0版本,已经用conda安装了numba。下面是我的程序(python)

from numba import vectorize, int16
import numpy as np
a=np.arange(4)
b=np.arange(4)
@vectorize(['int16(int16, int16)'], target='cuda')
def add__ufunc(x, y)_:
return x + y
a'd'd_ufunc(b,a)

绝望中。。。。。

1个回答

跑下devicequery,看下你的cuda的配置还有设备信息,另外排除下假卡。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
win10和ubuntu16.04双系统,CUDA只能在一个系统配置吗?
我在Ubuntu16.04已配置好了CUDA8.0,如果在Windows下用到CUDA,需要在Wdows下重新安装CUDA吗
安装了cuda,为啥VS2013里面没有cuda模块?
我是先安装了cuda8.0,后安装的vs2013.配置了环境变量,但是新建项目时没有cuda模块?跪求解决!
CUDA环境配置错误会导致运行结果都是0吗
1、网上下的程序,但是我自己运行生成exe,不报错,但是结果都是0,是环境配置的问题吗? 环境配置错误会导致运行结果吗? 2、我是在cuda4.0+VS2008+Win7环境下运行的。 3、 ``` #include <float.h> //for FLT_MAX #include <stdio.h> #include <cutil.h> #include "CUDAMCML.h" __device__ __constant__ unsigned int num_photons_dc[1]; __device__ __constant__ unsigned int n_layers_dc[1]; __device__ __constant__ unsigned int start_weight_dc[1]; __device__ __constant__ LayerStruct layers_dc[MAX_LAYERS]; __device__ __constant__ DetStruct det_dc[1]; #include "CUDAMCMLmem.cu" #include "CUDAMCMLio.cu" #include "CUDAMCMLrng.cu" #include "CUDAMCMLtransport.cu" // wrapper for device code void DoOneSimulation(SimulationStruct* simulation, unsigned long long* x,unsigned int* a) { MemStruct DeviceMem; MemStruct HostMem; unsigned int threads_active_total=1; unsigned int i,ii; cudaError_t cudastat; clock_t time1,time2; // Start the clock time1=clock(); // x and a are already initialised in memory HostMem.x=x; HostMem.a=a; InitMemStructs(&HostMem,&DeviceMem, simulation); InitDCMem(simulation); dim3 dimBlock(NUM_THREADS_PER_BLOCK); dim3 dimGrid(NUM_BLOCKS); LaunchPhoton_Global<<<dimGrid,dimBlock>>>(DeviceMem); CUDA_SAFE_CALL( cudaThreadSynchronize() ); // Wait for all threads to finish cudastat=cudaGetLastError(); // Check if there was an error if(cudastat)printf("Error code=%i, %s.\n",cudastat,cudaGetErrorString(cudastat)); printf("ignoreAdetection = %d\n\n",simulation->ignoreAdetection); i=0; while(threads_active_total>0) { i++; //run the kernel if(simulation->ignoreAdetection == 1){ MCd<1><<<dimGrid,dimBlock>>>(DeviceMem); } else{ MCd<0><<<dimGrid,dimBlock>>>(DeviceMem); printf("Run MCd completed.\n"); // Kernel<<< >>> cudaError_t error = cudaGetLastError(); printf("CUDA error: %s\n", cudaGetErrorString(error)); } CUDA_SAFE_CALL( cudaThreadSynchronize() ); // Wait for all threads to finish cudastat=cudaGetLastError(); // Check if there was an error if(cudastat)printf("Error code=%i, %s.\n",cudastat,cudaGetErrorString(cudastat)); // Copy thread_active from device to host CUDA_SAFE_CALL( cudaMemcpy(HostMem.thread_active,DeviceMem.thread_active,NUM_THREADS*sizeof(unsigned int),cudaMemcpyDeviceToHost) ); threads_active_total = 0; for(ii=0;ii<NUM_THREADS;ii++) threads_active_total+=HostMem.thread_active[ii]; CUDA_SAFE_CALL( cudaMemcpy(HostMem.num_terminated_photons,DeviceMem.num_terminated_photons,sizeof(unsigned int),cudaMemcpyDeviceToHost) ); printf("Run %u, Number of photons terminated %u, Threads active %u\n",i,*HostMem.num_terminated_photons,threads_active_total); } printf("Simulation done!\n"); CopyDeviceToHostMem(&HostMem, &DeviceMem, simulation); time2=clock(); printf("Simulation time: %.2f sec\n",(double)(time2-time1)/CLOCKS_PER_SEC); Write_Simulation_Results(&HostMem, simulation, time2-time1); FreeMemStructs(&HostMem,&DeviceMem); } int main(int argc,char* argv[]) { int i; char input_filename[STR_LEN]; SimulationStruct* simulations; int n_simulations; unsigned long long seed = (unsigned long long) time(NULL);// Default, use time(NULL) as seed int ignoreAdetection = 0; char* filename; printf("%d \n",argc); for (i=0;i<argc;i++) printf(" %s \n",argv[i]);//输入数组到argv[i]中 GetFile(input_filename); printf("%s \n",input_filename); //if(argc<2){printf("Not enough input arguments!\n");return 1;} //else{filename=argv[1];} //if(interpret_arg(argc,argv,&seed,&ignoreAdetection)) return 1; filename=input_filename; printf("%s \n",filename); n_simulations = read_simulation_data(filename, &simulations, ignoreAdetection); if(n_simulations == 0) { printf("Something wrong with read_simulation_data!\n"); return 1; } else { printf("Read %d simulations\n",n_simulations); } // Allocate memory for RNG's unsigned long long x[NUM_THREADS]; unsigned int a[NUM_THREADS]; //Init RNG's if(init_RNG(x, a, NUM_THREADS, "safeprimes_base32.txt", seed)) return 1; //perform all the simulations for(i=0;i<n_simulations;i++) { // Run a simulation DoOneSimulation(&simulations[i],x,a); } FreeSimulationStruct(simulations, n_simulations); return 0; } ```
win10下配置CUDA和keras出错
Exception: The nvidia driver version installed with this OS does not give good results for reduction.Installing the nvidia driver available on the same download page as the cuda package will fix the problem: http://developer.nvidia.com/cuda-downloads win10系统,GTX 750Ti显卡,安装了最新版本的GeForce Game Ready Driver,CUDA 8.0,在Theano下配置.theanorc使用gpu,然后import keras提示如上异常,显示驱动程序有问题,请教如何解决
CUDA7.5+VS2012配置问题
小弟最近刚刚进入CUDA并行编程领域,下载了CUDA Toolkit 7.5和VS2012,安装好了以后开始编程,新建一个工程,自己带了一个实例,运行不成功,运行结果如下: cudaSetDevice failed! Do you have a CUDA-capable GPU installed?addWithCuda failed! 贴上我的GPU情况截图: ![GPU基本情况](https://img-ask.csdn.net/upload/201602/02/1454426112_598804.png) 还望大师帮我指点,怎么调通这个东西啊。。。小弟在此谢过了!
qt creator 配置 cuda8.0 出错
错误内容: NMAKE:-1: warning: U4004: 目标“cuda\composer_cuda.obj”的规则太多 NMAKE:-1: error: U1073: 不知道如何生成“main.cpp” NMAKE:-1: error: U1077: “"D:\software\Visual Studio 2015\VC\BIN\amd64\nmake.exe"”: 返回代码“0x2” pro文件内容: QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = test_cuda TEMPLATE = app SOURCES += main.cpp\ dialog.cpp \ HEADERS += dialog.h \ gutil.h \ composer_gpu.h \ FORMS += dialog.ui OTHER_FILES += composer.cu CUDA_OBJECTS_DIR= OBJECTS_DIR/../cuda CUDA_SOURCES += composer.cu CUDA_DIR = "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0" CUDA_SDK = "C:/ProgramData/NVIDIA Corporation/CUDA Samples/v8.0" INCLUDEPATH += $$CUDA_DIR/include INCLUDEPATH += $$CUDA_SDK/common/inc QMAKE_LIBDIR += $$CUDA_DIR/lib/x64 QMAKE_LIBDIR += $$CUDA_SDK/common/lib/x64 SYSTEM_TYPE = 64 # '32' or '64', depending on your system LIBS += -lcuda -lcudart -lcublas CUDA_ARCH = sm_30 NVCC_OPTIONS = --use_fast_math CUDA_INC = $$join(INCLUDEPATH,'" -I"','-I"','"') MSVCRT_LINK_FLAG_DEBUG = "/MDd" MSVCRT_LINK_FLAG_RELEASE = "/MD" QMAKE_EXTRA_COMPILERS += cuda CONFIG(debug, debug|release) { # Debug mode cuda_d.input = CUDA_SOURCES cuda_d.output = $$CUDA_OBJECTS_DIR/${QMAKE_FILE_BASE}_cuda.obj cuda_d.commands = $$CUDA_DIR/bin/nvcc.exe -D_DEBUG $$NVCC_OPTIONS $$CUDA_INC $$LIBS --machine $$SYSTEM_TYPE \ -arch=$$CUDA_ARCH -c -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME} -Xcompiler $$MSVCRT_LINK_FLAG_DEBUG cuda_d.dependency_type = TYPE_C QMAKE_EXTRA_COMPILERS += cuda_d } else { # Release mode cuda.input = CUDA_SOURCES cuda.output = $$CUDA_OBJECTS_DIR/${QMAKE_FILE_BASE}_cuda.obj cuda.commands = $$CUDA_DIR/bin/nvcc.exe $$NVCC_OPTIONS $$CUDA_INC $$LIBS --machine $$SYSTEM_TYPE \ -arch=$$CUDA_ARCH -c -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME} -Xcompiler $$MSVCRT_LINK_FLAG_RELEASE cuda.dependency_type = TYPE_C QMAKE_EXTRA_COMPILERS += cuda }
opencv+cmake+tbb+cuda+vs2013的配置问题
我是根据网上的教程来配置的,但是一直出现问题,教程如下: [OPENCV2.4.9+CUDA6.5+VS2013 64位系统环境搭建](http://www.ithao123.cn/content-8381509.html "") [OpenCV 2.4.9 + CUDA 6.5 + Visual Studio 2013 中文教程](http://tieba.baidu.com/p/3329042929 "") ,,,,,但是我一直卡在生成阶段,就如下图: ![生成阶段](https://img-ask.csdn.net/upload/201601/26/1453771858_581048.png) 出现的错误一直是这两个: ![错误一](https://img-ask.csdn.net/upload/201601/26/1453771941_606333.png) ![错误二](https://img-ask.csdn.net/upload/201601/26/1453771976_439431.png) 现在万分纠结,求大神解答
windows下配置CUDA+YOLO出现的问题
我使用的是YOLO-windows https://github.com/frischzenger/yolo-windows,环境配置好后,编译出现各种问题,搜了很多还是没解决,求大神帮忙 ![图片说明](https://img-ask.csdn.net/upload/201703/16/1489647329_348395.jpg)
请问ubuntu环境下,在Qt上用cuda 生成的动态链接库时,pro配置文件应该怎么写?
cuda_d.output = $$CUDA_OBJECTS_DIR/${QMAKE_FILE_BASE}_cuda.o 这句输出原来是用在app上的,可以使用。现在改为lib,没法用了,注释掉倒是可以编译,但是没用了 是否可提供范例参考?谢谢
cuda 8.0 安装 nvcc -v错误
小白求教,电脑显卡 NVS5400M 安装cuda8.0后,配置好环境变量,在CMD中运行nvcc -v 结果如下: nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). nvcc fatal : No input files specified; use option --help for more information 请问如何解决?
cusp+cuda5.5 配置问题
本人使用 win7+cuda5.5+cusp-0.4编译cusp的example,一般的样例都可以通过,但是只要涉及泊松方程的possion5pt(),程序就会跑崩溃。不知道为什么,为什么官方的样例都通不过? 求大神拯救,急求!!
win7+1080ti+cuda8.0+cudnn5.0+caffe编译报错
我最近在配置caffe,配置环境是win7+1080ti+cuda8.0+cudnn5.0+caffe,按照网上的相关博文进行了配置,但是现在是Debug版本可以编译成功并运行,Release版本就会直接报错,主要的错误是error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\nvcc.exe" -gencode=arch=compute_61,code=\"sm_61,compute_61\" --use-local-env --cl-version 2013 -ccbin和error MSB4062: 未能从程序集 D:\Caffe\NugetPackages\OpenCV.2.4.10\build\native\\private\coapp.NuGetNativeMSBuildTasks.dll 加载任务“NuGetPackageOverlay”。未能加载文件或程序集“file:///D:\Caffe\NugetPackages\OpenCV.2.4.10\build\native\private\coapp.NuGetNativeMSBuildTasks.dll”或它的某一个依赖项。另一个程序正在使用此文件,进程无法访问。 请问大家知道为什么会出现这种情况吗?谢谢
win10+matlab2018a+matconvnet-1.0-beta25+cudav10.0配置GPU时出错,"错误使用 vl_compilenn>activate_nvcc (line 746)",如何解决?
win10+matlab2018a+vs2015+matconvnet-1.0-beta25+cudav10.0配置CPU成功,配置GPU时出错,_**错误使用 vl_compilenn>activate_nvcc (line 746)**_,如何解决? ``` vl_compilenn('enableGpu', true,'Debug',true,... 'cudaRoot', 'F:\CUDA\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1', ... 'cudaMethod', 'nvcc', 'enableCudnn', true, ... 'cudnnRoot', 'F:\matlab\matconvnet-1.0-beta25\matconvnet-1.0-beta25\local\cuda' ``` ![图片说明](https://img-ask.csdn.net/upload/201911/21/1574346961_962651.png)
cuda opencv GPU模块的使用出错
#include<stdlib.h> #include<stdio.h> #include<device_launch_parameters.h> #include<cuda_runtime.h> #include<opencv2\opencv.hpp> #include<opencv2\gpu\gpu.hpp> #include<iostream> int main() { int num_devices = cv::gpu::getCudaEnabledDeviceCount(); if (num_devices <= 0) { std::cerr << "There is no devoce" << std::endl; return -1; } int enable_device_id = -1; for (int i = 0; i < num_devices; i++) { cv::gpu::DeviceInfo dev_info(i); if (dev_info.isCompatible()) { enable_device_id = i; } } if (enable_device_id < 0) { std::cerr << "GPU module isn't built for GPU" << std::endl; return -1; } cv::gpu::setDevice(enable_device_id); cv::Mat src_image = cv::imread("test.jpg"); cv::Mat dst_image; cv::gpu::GpuMat d_dst_img; cv::gpu::GpuMat d_src_img(src_image);//upload src image to gpu //为什么从这以后的代码不执行了 printf("abcd");//测试使用 //cv::gpu::cvtColor(d_src_img, d_dst_img, CV_BGR2GRAY); //d_dst_img.download(dst_image);//download dst image to cpu //cv::imshow("test", dst_image); cv::imshow("test", src_image); cv::waitKey(5000); return 0; } 我感觉我配置的环境应该没问题啊,
cuda核函数不执行的可能原因?
练习了一个矩阵乘法的例子,每个block配置16×16个thread, 当做5000×5000的矩阵乘法时,结果就全为0,核函数不执行不知道原因是什么? 每个grid每一维可以包含至少65535个block,算了下没有超出但是核函数没执行。。。
调用CUDA API使用GPU运算一个JuliaSet花费的时间比在CPU上多
我用的是《GPU高性能编程CUDA实战》第四章最后的一个例子,在CPU上花费的时间700+ms,在GPU上花费的时间是800+ms ``` // CPU版本代码 void kernel(unsigned char * ptr) { for (size_t y = 0; y < DIM; y++) for (size_t x = 0; x < DIM; x++) { int offset = x + y*DIM; int juliaValue = julia(x, y); ptr[offset * 4 + 0] = 255 * juliaValue; ptr[offset * 4 + 1] = 0; ptr[offset * 4 + 2] = 0; ptr[offset * 4 + 3] = 255; } } int main(void) { clock_t start, finish; double totaltime; start = clock(); CPUBitmap bitmap(DIM, DIM); unsigned char *ptr = bitmap.get_ptr(); kernel(ptr); finish = clock(); totaltime = (double)(finish - start) / CLOCKS_PER_SEC; printf("time : %fs\n", float(totaltime)); bitmap.display_and_exit(); return 0; } ``` --- ``` // GPU版本代码 #define DIM 1000 struct cuComplex { float r; float i; __device__ cuComplex(float a, float b) : r(a), i(b) {} __device__ float magnitude2(void) { return r * r + i * i; } __device__ cuComplex operator*(const cuComplex& a) { return cuComplex(r*a.r - i*a.i, i*a.r + r*a.i); } __device__ cuComplex operator+(const cuComplex& a) { return cuComplex(r + a.r, i + a.i); } }; __device__ int julia(int x, int y) { const float scale = 1.5; float jx = scale * (float)(DIM / 2 - x) / (DIM / 2); float jy = scale * (float)(DIM / 2 - y) / (DIM / 2); cuComplex c(-0.8, 0.156); cuComplex a(jx, jy); for (size_t i = 0; i < 200; i++) { a = a*a + c; if (a.magnitude2() > 1000) return 0; } return 1; } __global__ void kernel(unsigned char * ptr) { // 将threadIdx/BlockIdx映射到像素位置 int x = blockIdx.x; int y = blockIdx.y; int offset = x + y*gridDim.x; // 计算对应位置上的值 int juliaValue = julia(x, y); ptr[offset * 4 + 0] = 255 * juliaValue; ptr[offset * 4 + 1] = 0; ptr[offset * 4 + 2] = 0; ptr[offset * 4 + 3] = 255; } int main(void) { clock_t start, finish; double totaltime; start = clock(); CPUBitmap bitmap(DIM, DIM); unsigned char *dev_bitmap; cudaMalloc((void **)&dev_bitmap, bitmap.image_size()); dim3 grid(DIM, DIM); kernel<< <grid, 1 >> >(dev_bitmap); cudaMemcpy(bitmap.get_ptr(), dev_bitmap, bitmap.image_size(), cudaMemcpyDeviceToHost); cudaFree(dev_bitmap); finish = clock(); totaltime = (double)(finish - start) / CLOCKS_PER_SEC; printf("time : %fs\n", float(totaltime)); bitmap.display_and_exit(); return 0; } ``` 运行结果是这张图片 ![图片说明](https://img-ask.csdn.net/upload/201905/28/1559043843_740633.png) 熟悉CUDA编程的大神能否解释一下为什么使用GPU并行计算花费的时间反而跟多? 配置是i7-8700 + GTX1060 6G
CUDA中使用VisualProfiler进行优化遇到这样一个问题,该怎么解决?
对于VisualProfiler的使用,新建NewSession,在File处选择已经编译好后出现的.exe文件, 然后点next,点finish后出现如图所示错误: ![图片说明](https://img-ask.csdn.net/upload/201811/29/1543505402_210956.png) 问题描述为:The application being profiled returned a non-zero return code. 百度翻译为:正在被配置的应用程序返回非零返回代码。 通过网上搜寻,可能的解决办法是: 1.内存没释放完全 2.主函数末尾需要添加cudaThreadExit(); 3.主函数末尾添加cudaFree(0); 如果上述解决办法,解决了,我是不会来这里提问的。 问题就是没有解决!!! 其中,我用一段HelloWorld.cu测试,可以使用VisualProfiler ``` //使用CUDA的第一个独立编程。简要使用CUDA。 //功能:从主机向设备传入数组a、b,计算a、b数组的和,传入数组c中,再传回主机。 #include<stdio.h> #include<stdlib.h> #include<cuda_runtime.h> #include "device_launch_parameters.h" #define N 200000 __global__ void Add(int *d_a, int *d_b, int *d_c); int main() { int *a = (int*)malloc(sizeof(int)*N); int *b = (int*)malloc(sizeof(int)*N); int *c = (int*)malloc(sizeof(int)*N); //CPU计算 for (int i = 0; i < N; i++) { a[i] = i; b[i] = i; c[i] = a[i] + b[i]; } printf("CPU : c[N-1] = %d\n", c[N - 1]); for (int i = 0; i < N; i++) { c[i] = 0; } printf("c[N-1] = %d\n", c[N - 1]); int *d_a; int *d_b; int *d_c; cudaMalloc((void**)&d_a, sizeof(int)*N); cudaMalloc((void**)&d_b, sizeof(int)*N); cudaMalloc((void**)&d_c, sizeof(int)*N); dim3 block_add((N + 256 - 1) / 256, 1); dim3 thread_add(256, 1); cudaEvent_t start, stop; cudaEventCreate(&start); cudaEventCreate(&stop); cudaEventRecord(start, 0); cudaMemcpy(d_a, a, sizeof(int)*N, cudaMemcpyHostToDevice); cudaMemcpy(d_b, b, sizeof(int)*N, cudaMemcpyHostToDevice); Add << <block_add, thread_add >> > (d_a, d_b, d_c); cudaMemcpy(c, d_c, sizeof(int)*N, cudaMemcpyDeviceToHost); cudaEventRecord(stop, 0); cudaEventSynchronize(stop); float tm; //创建时间变量 cudaEventElapsedTime(&tm, start, stop);//把事件的时间记录下来 cudaEventDestroy(start); //销毁事件 cudaEventDestroy(stop); //销毁事件 printf("GPU Elapsed time:%.6f ms.\n", tm); //屏幕显示时间 printf("GPU : c[N-1] = %d", c[N - 1]); free(a); free(b); free(c); cudaFree(d_a); cudaFree(d_b); cudaFree(d_c); return 0; } __global__ void Add(int *d_a, int *d_b, int *d_c) { const int tidx = blockIdx.x*blockDim.x + threadIdx.x; if (tidx < N) d_c[tidx] = d_a[tidx] + d_b[tidx]; } ``` 但是,使用我需要完成任务后,进行调试编译完成之后,不可以使用VisualProfiler 非常奇怪。这是我下面的一段代码: ``` #include <stdlib.h> #include <stdio.h> #include <math.h> #include <cuda_runtime.h> #include "device_launch_parameters.h" #define C 3e8 #define pi 3.141592653589793 #define uchar unsigned char float B = 100e6; //带宽 float fc = 10e9; //载频 float Fs = 140e6; //采样频率 float PRF = 500; //脉冲重复周期 float Rs = 10e3; //最近斜距 float Tp = 20e-6; //脉冲时宽 float H = 4e3; //平台高度 int Nan = 8192; //方位向采样点数 int Nrn = 4096; //距离向采样点数 int Nz; float vx = 70.0, vy = 0.0, vz = 0.0, angle_equal = 0;//俯冲参数 float BeamWide_azimuth = 3.0 / 180 * pi; //雷达波束宽度 int data_nrn_new = 512, data_nan_new = 512;//从原图中截取的图像大小 float DeltaR = C / 2 / Fs; //距离采样间隔 float x_interval = DeltaR; float y_interval = DeltaR; float theta = 3.0 / 180 * pi; __global__ void pos(float *d_pos_x, float *d_pos_y, float *d_pos_z, int nan, float PRF, float vx, float vy, float vz, float Rs, float angle_equal, float H); int main() { //雷达坐标 float* pos_x; pos_x = (float*)malloc(sizeof(float)*Nan); float* pos_y; pos_y = (float*)malloc(sizeof(float)*Nan); float* pos_z; pos_z = (float*)malloc(sizeof(float)*Nan); float *d_pos_x; //平台坐标x cudaMalloc((void **)&d_pos_x, Nan * sizeof(float)); float *d_pos_y; //平台坐标y cudaMalloc((void **)&d_pos_y, Nan * sizeof(float)); float *d_pos_z; //平台坐标z cudaMalloc((void **)&d_pos_z, Nan * sizeof(float)); printf("分配空间完毕\n"); //线程分配 dim3 blocks_Pos((Nan + 512 - 1) / 512, 1);//雷达位置线程 dim3 threads_Pos(512, 1); cudaEvent_t start, stop; cudaEventCreate(&start); cudaEventCreate(&stop); cudaEventRecord(start,0); pos<< <blocks_Pos, threads_Pos >> >(d_pos_x, d_pos_y, d_pos_z, Nan, PRF, vx, vy, vz, Rs, angle_equal, H); printf("核函数计算完毕\n"); cudaEventRecord(stop, 0); cudaEventSynchronize(stop); float dt; cudaEventElapsedTime(&dt, start, stop); cudaEventDestroy(start); cudaEventDestroy(stop); printf("time: %.2f ms\n", dt); cudaMemcpy(pos_x, d_pos_x, sizeof(float)*Nan, cudaMemcpyHostToDevice); cudaMemcpy(pos_y, d_pos_y, sizeof(float)*Nan, cudaMemcpyHostToDevice); cudaMemcpy(pos_z, d_pos_z, sizeof(float)*Nan, cudaMemcpyHostToDevice); printf("数据传输完毕\n"); cudaFree(d_pos_x); cudaFree(d_pos_y); cudaFree(d_pos_z); return 1; } //计算传感器实时位置 __global__ void pos(float *d_pos_x, float *d_pos_y, float *d_pos_z, int nan, float PRF, float vx, float vy, float vz, float Rs, float angle_equal, float H) { const int tid = blockIdx.x*blockDim.x + threadIdx.x; if (tid<nan) { d_pos_x[tid] = (tid - nan / 2.0) / PRF*vx; d_pos_y[tid] = (tid - nan / 2.0) / PRF*vy - float(sqrt(pow(double(Rs*cos(angle_equal)), 2.0) - pow(double(H), 2.0))); d_pos_z[tid] = H; } } ``` 恳请哪位大神可以帮助我看下出现了什么问题
windows 编译配置caffe 出错
版本:Windows 10 Visual Studio 2013 Matlab R2016b CUDA 8.0.44 cuDNN v4 步骤按照 http://blog.csdn.net/lk274857347/article/details/53588049 这个博主的教程来的 在4.7编译那一步的时候,出现了这个错误:error msb4030: "否" 对于"CL"任务中的 "TreatWarningAsError" 参数是一个无效值 - 另外原教程中的Anaconda我没下载,因为是新手不太懂,而且看后面没有用到就没有下载 请教大神们,本例中msb4030的错误该怎么解决呢? 非常感谢!!!
求助啊,tensorflow-gpu的配置,4天没搞出来,崩溃了
大佬们求助,小弟用win7 64位+tensorflow-1.2.0rc0--gp+cuda8.0.61+cudnn5.1+gtx1080来配置深度学习的环境。 结果搞了4天,pycharm控制台一直出现 can not cuInit: CUDA_NO_DEVICE_ERROR......的错误,gpu也启动不了,只能用cpu。 而且更糟糕的是,nvdia的控制面板也打不开,总是出错,停止工作。因此,刚开始怀疑是驱动的问题,从官网上下载了最新的驱动,结果两个问题都没解决。 后来,我发现cuda的测试例子中的deviceQuery和bandwidthTest都运行失败,说明我连cuda都没装成功,简直吐血。对了,cuda自带的驱动是375.61. 重装驱动也没用 实在没办,法,谁来救救我
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
redis分布式锁,面试官请随便问,我都会
文章有点长并且绕,先来个图片缓冲下! 前言 现在的业务场景越来越复杂,使用的架构也就越来越复杂,分布式、高并发已经是业务要求的常态。像腾讯系的不少服务,还有CDN优化、异地多备份等处理。 说到分布式,就必然涉及到分布式锁的概念,如何保证不同机器不同线程的分布式锁同步呢? 实现要点 互斥性,同一时刻,智能有一个客户端持有锁。 防止死锁发生,如果持有锁的客户端崩溃没有主动释放锁,也要保证锁可以正常释...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Java世界最常用的工具类库
Apache Commons Apache Commons有很多子项目 Google Guava 参考博客
相关热词 c# 二进制截断字符串 c#实现窗体设计器 c#检测是否为微信 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片
立即提问