CUDA中使用VisualProfiler进行优化遇到这样一个问题,该怎么解决?

对于VisualProfiler的使用,新建NewSession,在File处选择已经编译好后出现的.exe文件,
然后点next,点finish后出现如图所示错误:
图片说明

            问题描述为: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;
    }
}

恳请哪位大神可以帮助我看下出现了什么问题

2个回答

weixin_42702728
Javen_ManWJ 非常感谢分享,这个已经看过,没有多大帮助。不过今早过来解决了这个问题
一年多之前 回复

昨晚提出问题,今早过来试了一下改变主函数最后的返回值,再在VisualProfiler上试运行一下,可以出来结果,真的是太棒了!~~~~·等了好久,估计后续还有很多其他问题。本质还没有理解。

时间11\30 22:40
重复又出现了那个问题。在源程序中,我有个读取文件的指令,但是却没有在.exe所处目录中添加被读取的文件,添加上之后,问题消失。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
求助Tensorflow下遇到Cuda compute capability问题

在Python下装了tensorflow-gpu,其中cuda为cuda_8.0.61_windows,cudnn为cudnn-8.0-windows7-x64-v5.1,安装没有问题,可以正常跑起来,但是在跑mnist手写体数据集时遇到以下问题: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:948] Ignoring visible gpu device (device: 0, name: GeForce GT 630M, pci bus id: 0000:01:00.0) with Cuda compute capability 2.1. The minimum required Cuda capability is 3.0. 究其原因是显卡不支持Cuda compute capability 3.0,看到网上caffe中此类问题的解决方法是在Makefile.config中注释掉USE_CUDNN,请问,哪位大神知道Tensorflow中如何解决这一问题呢?谢谢!_

VS2013 + CUDA8.0混合编程GPU速度优化问题

目前需要用boost库多线程和CUFFT,GPU型号是NVIDIA GeForce GTX 960M,GPU占用率只有10%左右。CPU(4核8线程)中的多线程和GPU中的多线程并行执行有什么关系?设计核函数的时候线程格、线程块、线程数不同会有什么影响?如何优化才能提高GPU的占用率呢?960M的GPU有5个SM,每个SM有128个SP,每个线程块中的最大线程数是1024。使用流并行的话怎么设计流的数量呢?求各路大神指点迷津,先说声谢谢。另外对CUFFT有兴趣的也可以交流一下。

cuda一个global函数里调用多个核函数出问题。

caffe编写loss层时, 我一个global函数里有多个核函数,但是有时前两个核函数不执行,有时候又执行,不清楚问题出在哪里? ``` template <typename Dtype> void PixelClustingLossLayer<Dtype>::Forward_gpu( const vector<Blob<Dtype>*>& bottom, const vector<Blob<Dtype>*>& top) { const int num = bottom[0]->num(); const int data_channels = bottom[0]->channels(); const int mask_channels = bottom[1]->channels(); const int height = bottom[0]->height(); const int width = bottom[0]->width(); const int spatial_dim = height * width; const int nc = num * data_channels; const int data_count = bottom[0]->count(); const int mask_count = bottom[1]->count(); Dtype* pos_num_data = pos_num_.mutable_cpu_data(); Dtype* neg_num_data = neg_num_.mutable_cpu_data(); caffe_gpu_set(mask_count, Dtype(0.), pixel_mask_.mutable_gpu_data()); caffe_gpu_set(num, Dtype(0.), loss_mask_.mutable_gpu_data()); caffe_gpu_set(num*data_channels, Dtype(0.), pos_ave_.mutable_gpu_data()); caffe_gpu_set(num*data_channels, Dtype(0.), neg_ave_.mutable_gpu_data()); caffe_gpu_set(num, Dtype(0.), pos_loss_.mutable_gpu_data()); caffe_gpu_set(num, Dtype(0.), neg_loss_.mutable_gpu_data()); caffe_gpu_set(num, Dtype(0.), center_loss_.mutable_gpu_data()); for(int n=0; n<num; ++n) { caffe_gpu_asum(spatial_dim, bottom[1]->gpu_data() + n * spatial_dim, pos_num_.mutable_cpu_data() + n); neg_num_data[n] = spatial_dim - pos_num_data[n]; } //LOG(INFO)<<"There are "<<pos_num_.cpu_data()[0]<<" pos pixels and "<<neg_num_.cpu_data()[0]<<" neg pixels."; GetTotalValue<Dtype> <<<CAFFE_GET_BLOCKS(data_count), CAFFE_CUDA_NUM_THREADS>>>(data_count, bottom[0]->gpu_data(), bottom[1]->gpu_data(), pos_ave_.mutable_gpu_data(), neg_ave_.mutable_gpu_data(), data_channels, height, width); //LOG(INFO)<<"There are 111 neg pixels."; GetAveValue<Dtype> <<<CAFFE_GET_BLOCKS(nc), CAFFE_CUDA_NUM_THREADS>>>(nc, pos_num_.gpu_data(), neg_num_.gpu_data(), pos_ave_.mutable_gpu_data(), neg_ave_.mutable_gpu_data(), center_loss_.mutable_gpu_data(), data_channels); //LOG(INFO)<<"There are 222 neg pixels."; PowerEuclideanDistance<Dtype> <<<CAFFE_GET_BLOCKS(mask_count), CAFFE_CUDA_NUM_THREADS>>>(mask_count, bottom[0]->gpu_data(), bottom[1]->gpu_data(), pos_ave_.gpu_data(), neg_ave_.gpu_data(), euclidean_dis_.mutable_gpu_data(), mask_channels, data_channels, height, width); ComputePixelLoss<Dtype> <<<CAFFE_GET_BLOCKS(mask_count), CAFFE_CUDA_NUM_THREADS>>>(mask_count, bottom[1]->gpu_data(), euclidean_dis_.gpu_data(), pos_loss_.mutable_gpu_data(), neg_loss_.mutable_gpu_data(), pos_num_.gpu_data(), neg_num_.gpu_data(), pixel_mask_.mutable_gpu_data(), mask_channels, height, width, alpha_); ComputeClassLoss<Dtype> <<<CAFFE_GET_BLOCKS(num), CAFFE_CUDA_NUM_THREADS>>>(num, center_loss_.mutable_gpu_data(), loss_mask_.mutable_gpu_data(), beta_); caffe_gpu_add(num, neg_loss_.gpu_data(), pos_loss_.gpu_data(), loss_.mutable_gpu_data()); caffe_gpu_add(num, loss_.gpu_data(), center_loss_.gpu_data(), loss_.mutable_gpu_data()); Dtype loss; caffe_gpu_asum(num, loss_.gpu_data(), &loss); LOG(INFO)<<loss/Dtype(num); top[0]->mutable_cpu_data()[0] = loss / num; } ``` 主要是GetTotalValue()函数和GetAveValue()函数,偶尔执行,偶尔不执行,头都晕了。 有没有大神指点迷津。

CUDA runtimeAPI 第一次使用 耗时严重(release下)

我的程序在启动时,用到了几个cuda的库,第一次调用cudamalloc或者cudafree这样的 操作内存的函数时会耗时十几秒到几十秒。怎么办? 我看网上的说cuda使用时没有专门的init函数和设置,第一次使用时就在内部初始化了。 但是我的问题怎么解决? 尤其是当我加上一个拼接的函数时,用到了 opencv_cudaarithm310.dll opencv_cudabgsegm310.dll opencv_cudafeatures2d310.dll opencv_cudafilters310.dll opencv_cudalegacy310.dll opencv_cudaobjdetect310.dll opencv_ml310.dll opencv_stitching310.dll (主要是用到了这个,前面的是它附带出来的) 求大神搭救一下。

matlab调用cuda 中cublas的问题

mul3.obj : error LNK2019: 无法解析的外部符号 cublasCreate_v2,该符号在函数 mexFunction 中被引用 mul3.obj : error LNK2019: 无法解析的外部符号 cublasDestroy_v2,该符号在函数 mexFunction 中被引用 mul3.obj : error LNK2019: 无法解析的外部符号 cublasSgemm_v2,该符号在函数 mexFunction 中被引用 mul3.mexw64 : fatal error LNK1120: 3 个无法解析的外部命令 **总是报错,在VS2015里面可以成功调用cublas进行矩阵乘法计算,但是在mexcuda里面调用总是报错,不知道什么原因,求大神指点迷津!**

安装cuda8.0遇到找不到硬件的问题

![图片说明](https://img-ask.csdn.net/upload/201902/14/1550112234_799473.jpg) 我在安装cuda8.0 进行到检测兼容性这一步时出现了这样的问题 我的是笔记本电脑用的显卡是 GTX 1060 请问这怎么解决呢

关于CUDA共享内存的使用

共享内存是定义在kernel函数里面还是外面? 我下面有一个类似图像直方图统计功能的内核函数,每个线程对应一个像素点。 如果不使用共享内存是这样的: ``` atomicAdd(&gpu_EO_0_stats_pix_count[catagory_row_id*LCU_total + LCU_id_ab], 1); atomicAdd(&gpu_EO_0_stats_E[catagory_row_id*LCU_total + LCU_id_ab], e); ``` 现在我希望使用共享内存,对共享内存原子写,在将最后结果汇聚到全局内存: ``` __shared__ stats_count shared_count[CATA_NUM]; __shared__ stats_E shared_E[CATA_NUM]; __syncthreads(); atomicAdd(&shared_count[catagory_row_id], 1); atomicAdd(&shared_E[catagory_row_id], e); __syncthreads(); if (threadIdx.x == 0)//每个线程块的第一个线程 { atomicAdd(&gpu_EO_0_stats_pix_count[catagory_row_id*LCU_total + LCU_id_ab], shared_count[catagory_row_id]); atomicAdd(&gpu_EO_0_stats_E[catagory_row_id*LCU_total + LCU_id_ab], shared_E[catagory_row_id]); } ``` 但这样会出错,error code 77。 我想请问下出错的原因是什么?共享内存到底应该怎么定义和使用?

一个关于tensorflow和CUDA安装的问题

我的系统是Linux,我用Anaconda安装tensorflow-gpu是否还需要单独安装CUDA,我看他已经给我顺便安了cudatoolkit和cudnn,是不是就不用再安CUDA了? 另一个问题是,如果我想用C++版的opencv调用CUDA,是不是还得再自己安装CUDA啊?

opencv+cuda关于GpuMat数据转递问题

萌新刚刚接触opencv+cuda不久,还不是很熟练,现在碰到了一个问题,不知道有没有大佬知道解决方法 实际问题中我想定义一个GpuMat类型的数组,例如cv::cuda::GpuMat cu_proj[10][128]; 然后传递给核函数的时候就显示如下错误 error : no suitable constructor exists to convert from "cv::cuda::GpuMat [10][128]" to "cv::cuda::PtrStepSz<uchar1>" 我网上搜到的都是单个GpuMat的传递,不知道我这种情况有没有解决方法呀?以及如果有,在核函数中应该怎么索引呢?我试过cu_proj[x][y](i, y),也显示错误: error : no operator "[]" matches these operands 感激不尽!

在cuda中如何挑选gpu数组中满足特定条件的数据,并组成一个新的数组(不要把值赋给cpu计算)

Passwrong << < 1, 1 >> >(cuda_dcA, cuda_dcAa, a, cuda_factAnum); __global__ void Passwrong(int *a, int*b,int num,int*TN) { int countA = 0; for (int ia = 0; ia < num; ia++) { if (a[ia * 5] == 1 && a[ia * 5 + 1] == 1 && a[ia * 5 + 2] == 1 && a[ia * 5 + 3] == 1 && a[ia * 5 + 4] == 1) { continue; } else { for (int ja = 0; ja < 5; ja++) { b[countA * 5 + ja] = a[ia * 5 + ja]; } countA++; } } TN[0] = countA; } 这种写法会爆炸,不明原因。。。。

关于学习cuda 共享内存的一个问题,想请假一下高手

我看的是英文版,讲共享内存的时候下面几句话不理解: 1. Shared memory is a bank-switched architecture 这个在搜索引擎没有搜索到,不知道bank-switched是一个怎样的架构。 2. 接上句On Femi is 32 banks wide, each bank of data is 4 bytes 前面书上有写femi架构上有48k的共享内存,这里又说femi有32个banks,每个bank有4 bytes一共才128 bytes啊,是怎么一个回事?

CUDA并行处理循环问题

刚开始接触CUDA,C++也不熟悉,想把一个循环用GPU并行加速。 有这么一个循环: ``` for (int i = 0; i < nbint; i++) { _theta = (0.5 + i)*delta; for (int j = 0; j < nbinp; j++) { _phi = (0.5 + j)*delta; _l = sin(_theta* PI / 180.0)*cos(_phi* PI / 180.0); _m = sin(_theta* PI / 180.0)*sin(_phi* PI / 180.0); _n = cos(_theta* PI / 180.0); for (int k = 0; k < hits; k++) { _k = -(_l*x[k] + _m*y[k] + _n*z[k]); t[k] = a[k] - _k; } sort(t,0,hits-1) } } ``` 变幻完成后对这nbint*nbinp个数组排序。我想并行处理这么多数组。下面是我的核函数部分: ``` __global__ void boot(float *theta, float *phi, float *h, float *t) { using namespace std; int nbint = 2, nbinp = 2, hits = 20, delta = 5; float l, m, n = 0; int tid = blockDim.x * blockIdx.x + threadIdx.x; if (tid < nbinp*nbint) { for (int i = 0; i < nbint; i++) { *theta = (0.5 + i)*delta; for (int j = 0; j < nbinp; j++) { *phi = (0.5 + j)*delta; l = sin((*theta)* PI / 180.0)*cos((*phi)* PI / 180.0); m = sin((*theta)* PI / 180.0)*sin((*phi)* PI / 180.0); n = cos((*theta)* PI / 180.0); for (int k = 0; k < hits; k++) { float *x = new float[k]; float *y = new float[k]; float *z = new float[k]; float *a = new float[k]; *h = -(l*x[k] + m*y[k] + n*z[k]); t[k] = a[k] - *h; } GPUqsort << < 1, 1 >> >(t, 0, hits-1); } } } } ``` 结果不对。。请大神们给点指导~~~

ubuntu14.04.3下安装cuda7.5的问题

我在ubuntu14.04.3下安装cuda7.5。 安装完成后我使用命令nvcc -V,结果显示: nvcc未安装,若要安装请使用sudo apt-get install nvidia-cuda-toolkit. 所以我按照提示使用上面的命令安装了nvcc。然后使用nvcc -V,显示; Cuda compilation tools release5.5 V5.5.0 怎么会是5.5?而不是7.5。不管怎样,能用了。但是在~/samples目录下,make之后,./deviceQuery,显示: cuda driver version is insufficient for cuda runtime verdion。 所以我执行了这个命令sudo apt-get install cuda-drivers。其中因为以来关系,还安装了opencl。反正安装好了之后,./deviceQuery的结果就正确了。 但是问题来了,nvcc又显示未安装。 怎么办啊?

安装CUDA:进行sudo apt-get update时报错

安装完nvidia cuda的仓库安装包,进行sudo apt-get update时报错: W: http://extras.ubuntu.com/ubuntu/dists/trusty/Release.gpg: Signature by key C47415DFF48C09645B78609416126D3A3E5C1192 uses weak digest algorithm (SHA1) 已经修改过好几次源了,只是不知道这个错误需要怎样修改 所以接下来进行sudo apt-get install cuda时也报错: Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package cuda

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) 还望大师帮我指点,怎么调通这个东西啊。。。小弟在此谢过了!

CUDA编程中如何使用双精度FP64单元,计算单精度FP32指令

我的CUDA核函数中只使用了INT32和FP32的数据类型,可是在用NVprofiler拿到的profiling中: ![图片说明](https://img-ask.csdn.net/upload/201708/14/1502708584_799483.png) 却看到使用了FP64执行单元。 请问,这是什么原因呢? 另外,如何在kernel里面显式指定计算单元,比如指定使用FP64单元计算FP32指令?

linux下使用pytorch框架出现cuda run out of memory问题

1.使用pytorch,数据量是图像224x224,总共4w张,框架使用的是VGG,出现cuda memory问题 ![图片说明](https://img-ask.csdn.net/upload/201904/12/1555035289_282502.png) 上图是gpu使用的情况,运行时使用的batch_size为32 显存问题怎么解决呢? 求大神指点指点,实在不知道怎么解决了。。。

关于CUDA线程体系线程的分配

cuda体系下每个SM一次只能运行一个warp32个线程,但teslaK80上每个SM有192个sp,这样不会造成资源的大量浪费吗? 新手求请教。

pytorch使用cuda报错RuntimeError: CUDA error: unknown error,如何解决?

具体情况如下 ![](https://img-ask.csdn.net/upload/201907/14/1563082013_251355.jpg) cuda可用但是把tensor放到gpu上就会报这个错 ``` import torch as t tensor=t.Tensor(3,4) tensor.cuda(0) ``` 按照类似问题https://ask.csdn.net/questions/767989所给的方法,检查了cuda版本,全局设置全局设置首选图形处理器为“高性能NVIDIA处理器” 但还是报错 显卡是gtx1050 按照网上方法运行cuda自带的deviceQuery.exe的结果 ![图片说明](https://img-ask.csdn.net/upload/201907/14/1563082410_614414.jpg) 求助! 更新7.14 13:56 代码 ``` import torch as t tensor=t.Tensor(3,4) tensor.cuda(0) ``` 在pycharm上运行就没有报错。。。 不知道为什么。。。

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《Oracle Java SE编程自学与面试指南》最佳学习路线图2020年最新版(进大厂必备)

正确选择比瞎努力更重要!

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

文章目录1. 无状态登录1.1 什么是有状态1.2 什么是无状态1.3 如何实现无状态1.4 各自优缺点2. 登录交互2.1 前后端分离的数据交互2.2 登录成功2.3 登录失败3. 未认证处理方案4. 注销登录 这是本系列的第四篇,有小伙伴找不到之前文章,松哥给大家列一个索引出来: 挖一个大坑,Spring Security 开搞! 松哥手把手带你入门 Spring Security,别再问密...

字节跳动面试官竟然问了我JDBC?

轻松等回家通知

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

阿里面试官让我用Zk(Zookeeper)实现分布式锁

他可能没想到,我当场手写出来了

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

立即提问
相关内容推荐