nvidia

How to enable/disable a specific graphic card?

半城伤御伤魂 提交于 2019-12-02 00:02:34
I'm working on a "fujitsu" machine. It has 2 GPUs installed: Quadro 2000 and Tesla C2075. The Quadro GPU has 1 GB RAM and Tesla GPU has 5GB of it. (I checked using the output of nvidia-smi -q). When I run nvidia-smi, the output shows 2 GPUs, but the Tesla ones display is shown as off. I'm running a memory intensive program and would like to use 5 GB of RAM available, but whenever I run a program, it seems to be using the Quadro GPU. Is there some way to use a particular GPU out of the 2 in a program? Does the Tesla GPU being "disabled" means it's drivers are not installed? You can control

Is global memory write considered atomic in CUDA?

偶尔善良 提交于 2019-12-01 21:00:36
Is global memory write considered atomic or not in CUDA? Considering the following CUDA kernel code: int idx = blockIdx.x*blockDim.x+threadIdx.x; int gidx = idx%1000; globalStorage[gidx] = somefunction(idx); Is the global memory write to globalStorage atomic?, e.g. there is no race conditions such that concurrent kernel threads write to the bytes of the same variable stored in globalStorage, which could mess the results up (e.g. parial writes) ? Note that I am not talking about atomic operations like add/sub/bit-wise etc here, just straight global write. Edited: Rewrote the example code to

Difference on creating a CUDA context

孤街醉人 提交于 2019-12-01 20:23:31
I've a program that uses three kernels. In order to get the speedups, I was doing a dummy memory copy to create a context as follows: __global__ void warmStart(int* f) { *f = 0; } which is launched before the kernels I want to time as follows: int *dFlag = NULL; cudaMalloc( (void**)&dFlag, sizeof(int) ); warmStart<<<1, 1>>>(dFlag); Check_CUDA_Error("warmStart kernel"); I also read about other simplest ways to create a context as cudaFree(0) or cudaDevicesynchronize() . But using these API calls gives worse times than using the dummy kernel. The execution times of the program, after forcing the

CUDA result returns garbage using very large array, but reports no error

亡梦爱人 提交于 2019-12-01 17:45:07
I am creating a test program that will create a device and a host array of size n and then launch a kernel that creates n threads which allocate the constant value 0.95f to each location in the device array. After completion, the device array is copied to the host array and all entries are totaled and a final total is displayed. The program below seems to work fine for array sizes up to around 60 million floats and returns the correct results very quickly, but upon reaching 70 million the program seems to hang for a while and eventually returns a NAN result for the total. Inspecting the host

How can I force any display resolution/timing I want?

痞子三分冷 提交于 2019-12-01 14:06:48
I am having trouble finding a way to force any display resolution/timing I want in my C# program. I am running Windows 7 with a GeForce 210 graphics card. My current method to achieve these custom resolutions is to use the driver GUI to manually add the custom resolutions and then use Windows calls to change to those resolutions but I need a way to add new custom resolutions in real time. I have looked into the NVAPI but I was not able to find a way to do this. I also looked into the command line tool for the graphics driver but I was not able to get it to work. My last resort is to rewrite

Why intersection of Thrust Library is returning unexpected result?

☆樱花仙子☆ 提交于 2019-12-01 12:27:46
I'm using the library Thrust to get intersection set of a two larger sets of integers. In test with 2 small inputs i got correct results, but when i use two sets with 10^8 and 65535*1024 elements i got a empty set. Who's can explain this problem? Changing the two first variables to smaller values the thrust returns a expected intersection set. My code is following. #include <thrust/set_operations.h> #include <thrust/device_vector.h> #include <thrust/device_ptr.h> #include <iostream> #include <stdio.h> int main() { int sizeArrayLonger = 100*1000*1000; int sizeArraySmaller = 65535*1024; int

Is there a relationship between on which of devices was created stream and on which device will executed code?

末鹿安然 提交于 2019-12-01 10:57:29
If I use this code, then will be it executed on device 0 or 1? cudaSetDevice(0); // switch to device 0 cudaStream_t stream1; cudaStreamCreate(&stream1); // created on device 0 cudaSetDevice(1); // switch to device 1 kernel_function<<<10, 1024, 0, stream1>>>(); // executed on device 0 or 1? Is there a relationship between on which of devices was created stream and on which device will executed code? If I'm reading the following example from the CUDA webinar on using multiple GPUs correctly, it is an error to execute with a stream that is not on the currently selected device. Example 2

ubuntu安装时N卡黑屏处理

自作多情 提交于 2019-12-01 10:54:14
ubuntu安装时黑屏处理 问题描述:ubuntu使用光盘安装时,出现语言选择,但是Enter安装时,显示器显示没有信息,进行休眠 原因分析:由于ubuntu对于显卡支持有问题,需要手动添加显卡驱动选项 解决办法: 一、安装时,选择语言后,按F6,进入命令行模式 依照不同显卡进行不同显卡驱动选项的添加 1.Intel 82852/82855 或8系列显示晶片:i915.modeset=1或i915.modeset=0 2.Nvidia:nomodeset 3.其它厂牌(如ATI):xforcevesa或radeon.modeset=0 xforcevesa [DELL T3400显卡为Nvidia FX580,选择nomodeset] 回车安装 二、当安装结束后,启动系统出现黑画面 1.开机,进入grub画面(如果硬碟没有别的OS,请开机时按住shift不放才会有grub画面) 2.按'''e''' 进入编辑开机指令的模式, 同样找到'''quite splash''' 并在后面加上对应的字。 3.按 '''Ctrl+X'''启动系统. 4.进去系统之后编辑'''/etc/default/grub''' 这个档案(要管理者权限sudo)。 Ubuntu>打开终端机,输入sudo gedit /etc/default/grub 5.找到这一行: GRUB_CMDLINE_LINUX

how to specify the GPU to be used by nvenc in ffmpeg [closed]

廉价感情. 提交于 2019-12-01 10:29:17
I'm using ffmpeg executable for transcoding mpegts stream from h264 to h265 with nvenc and I have two nvidia Graphic Cards installed on my motherboard: GeForce GTX 690 and Tesla k-10. is there any codec specific parameters for nvenc in ffmpeg to choose to encode with any of these GPU which I want? Gyan The nvenc encoders have a GPU option which allow both to list and also to select GPUs to be used for encoding. So, use ffmpeg -f lavfi -i nullsrc -c:v h264_nvenc -gpu list -f null - Above, a dummy video source is generated and then piped to null. Meanwhile, FFmpeg will list the list of available

Why intersection of Thrust Library is returning unexpected result?

て烟熏妆下的殇ゞ 提交于 2019-12-01 10:22:29
问题 I'm using the library Thrust to get intersection set of a two larger sets of integers. In test with 2 small inputs i got correct results, but when i use two sets with 10^8 and 65535*1024 elements i got a empty set. Who's can explain this problem? Changing the two first variables to smaller values the thrust returns a expected intersection set. My code is following. #include <thrust/set_operations.h> #include <thrust/device_vector.h> #include <thrust/device_ptr.h> #include <iostream> #include