OpenCL detection bug - rendering

I'm new to Adobe Premiere and GPU acceleration. I started to follow simple tutorial on editing video with Premiere Pro CC that I had "Stopped Working" error after seconds when I hovered on my video or dragged it. Found that problem is because of OpenCL. So I put my settings to "Software Only" to have just CPU rendering.
My hardware and software:
HP ProBook 450 G1
Microsoft Windows 8.1 X64
AMD Radeon 8600/8700M
14.12 AMD Catalyst Omega Software
Intel HD 4600
AMD APP SDK 2.9
Microsoft Visual Studio Ultimate 2013
(For web developing. I'm not a CPP programmer.)
Adobe Premiere Pro CC
I used GPU-Z to have details about my AMD GPU and I saw that OpenCL is disabled and other one (Intel) is enabled.
Image
So I used /program files/adobe/adobe premiere pro cc/gpusniffer.exe and this is the output:
Found 2 devices supporting GPU computation.
OpenCL Device 0 -
Name: Intel(R) HD Graphics 4600
Vendor: Intel
Capability: 1.2
Driver: 1.2
Total Video Memory: 1348MB
* Not enabled by default because it did not match the named list of cards.
OpenCL Device 1 -
Name: Oland
Vendor: AMD
Capability: 2
Driver: 1.2
Total Video Memory: 2048MB
I read all the docs of APP SDK but I didn't find anything except this one:
Output of /windows/system32/clinfo.exe
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: No
Queue properties:
Out-of-Order: No
Profiling : Yes
Platform ID: 00007FFBA45D6B60
Name: Oland
Vendor: Advanced Micro Devices, Inc.
Device OpenCL C version: OpenCL C 1.2
Driver version: 1642.5 (VM)
Profile: FULL_PROFILE
Version: OpenCL 1.2 AMD-APP (1642.5)
What should I do in order to enable OpenCL in GPU-Z for my AMD Radeon GPU?
Thanks.

After two weeks Googling for my problem I found my answer in playing with regedit.
To have fun with OpenCL on Windows 8.1 and AMD Radeon we must do these:
Only use AMD Catalyst Control Center downloaded from AMD official website. (For me, installer downloaded from HP Support Center didn't work. I think because it didn't contains some packages.)
Download and install AMD APP SDK from AMD Developers official website.
Go to C:\Program Files (x86)\AMD APP SDK\2.9\bin. (It will be different based on your version.)
Copy and replace files from x86 folder (OpenCL.dll and amdocl.dll) to C:\Windows\SysWOW64.
Copy and replace files from x86_64 folder (OpenCL.dll and amdocl64.dll) to C:\Windows\System32.
Note: OpenCL.dll files are different with each other. Pay attention.
Open Start and type regedit in search or RUN.
Go to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors\.
Add amdocl64.dll as DWORD (32-bit) Value. (Do not edit it after creation!)
Navigate to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Khronos\OpenCL\Vendors\.
Add amdocl.dll as DWORD (32-bit) Value.
Restart windows (Because of Catalyst) and start Catalyst.
In Premiere go to File -> Project Settings -> General -> Video Rendering and Playback and set Renderer to Mercury Playback Engine GPU Acceleration (OpenCL).
Note: In Registry Editor, 0 means true (enabled) and 1 means false (disabled) for OpenCL.
Note: regedit must run as administrator.
Done! Adobe Premiere Pro CC works fast and fine. Note: GPU-Z will not show OpenCL enabled. I think because its old version.
Image

Related

Why isn't Blender using the GeForce RTX 2080 GPU and using only the Intel UHD Graphics 630?

I am setting up my computer for two things:
Rendering with Blender
Machine learning training
I have the NVIDIA GeForce RTX 2080 but when I start the rendering in Blender it only uses the Intel UHD Graphics card, and less than 10 percent of it (according to the Task Manager). (Also, when I use Tensorflow the GPU is not detected either.). What should I do to properly set up the NVIDIA GPU to be seen by Blender (or even Tensorflow)?
Details:
Driver: NVIDIA driver version 461.72
Platform: Windows 10 Education version 1909 Build 18363.1379
Processor: Intel(R) Core(TM) i7-9700K CPU #3.6GHz 3.6GHz
GPU 0 : Intel UHD Graphics 630
GPU 1 (shown as GPU 2 in Task Manager): NVIDIA GeForce RTX 2080
Image showing the Task Manager
Image showing second GPU information
For setting the main gpu for blender, first go to settings and then go to the display section in the system category , scroll down click on graphics settings . If you have installed blender from the Microsoft store change the desktop app selection in add an app and change it to Micrsoft store app and choose blender then click on options change the gpu to the RTX 2080. If you have installed using an exe or an msi file you can click on the browse button and go to the blender install path and select the app's exe file, then click on options and change the gpu

Set up OpenCL with intel graphics 4400 on arch linux?

I would like to enable OpenCL for GPU Computing on my laptop.
Its specs are the following:
OS: Manjaro ( Archlinux )
CPU / GPU: Core-i7 4600U / Intel Graphics 4400
I'm really new to this. What I did so far is to install all required dependencies as described here including:
intel-opencl
ocl-icd
clinfo
Executing clinfo returns the following output:
Number of platforms 1
Platform Name Intel(R) OpenCL
Platform Vendor Intel(R) Corporation
Platform Version OpenCL 1.2
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
Platform Extensions function suffix INTEL
Platform Name Intel(R) OpenCL
Number of devices 2
Device Name Intel(R) HD Graphics
Device Vendor Intel(R) Corporation
Device Vendor ID 0x8086
Device Version OpenCL 1.2
Driver Version r5.0.63503
Device OpenCL C Version OpenCL C 1.2
Device Type GPU
Device Profile FULL_PROFILE
Device Available Yes
Compiler Available Yes
Linker Available Yes
Max compute units 20
Max clock frequency 1100MHz
Device Partition (core)
Max number of sub-devices 0
Supported partition types by <unknown> (0x563e00000000)
Supported affinity domains (n/a)
Max work item dimensions 3
Max work item sizes 256x256x256
Max work group size 256
Speicherzugriffsfehler (Speicherabzug geschrieben)
Please notice the last line. I'm on a german working station so the last line stating a memory access error. I don't know how to fix it. Any advices would be really nice. Thanks in advance :-)
EDIT:
The exactly error message in english is:
segmentation error
Maybe that helps for further solutions...
It usually means some inconsistency between various pieces of hardware/software on your box. You have one platform (which is normal) with two devices - the first device has GPU type, but the clinfo couldn't request info about second device, which is probably your CPU.
I think you should develop a number of simple C/C++ programs to mimic what the clinfo does. It'll be very educational - anyway it's a first step any OpenCL program begin from. Use Khronos online manual:
clGetPlatformIds - to get list of platforms
clGetPlatformInfo - to request info about a platform
clDeviceIds - to get list of devices for a particular platform
clGetDeviceInfo - to request info about a device
and so on...
Hopefully, it will help you.

Caffe and Tensorflow on a Dell 7559 with nvidia optimus technology

I bought a dell 7559 laptop for deep learning. I got ubuntu 16.04 installed on it but I am having trouble getting caffe and tensorflow on it. The laptop used Nvidia Optimus technology to switch between gpu and cpu to save battery usage. I checked the bios to see if I can set it to use only gpu but there is no option for it. Using bumblebee or nvidia-prime didnt work either. I now have ubuntu 16 with mate desktop environment it is preventing from getting the black screen but didnt help with the cuda issue. I was able to install the drivers and cuda but when I build caffe and tensorflow they fail saying that it didnt detect a gpu. And I wasnt able to install opengl. I tried using several versions of nvidia drivers but it didnt help. Any help would be great. thanks.
I think Bumblebee can enable you to run Caffe/Tensorflow in GPU mode. More generally, it also allows you to run other CUDA programs on a laptop with Optimus technology .
When you have installed Bumblebee correctly (tutorial: Bumblebee Wiki for Ubuntu ), you can invoke the Caffe binary by pepending optirun before the caffe binary. So it goes like the following:
optirun ../../caffe-master/build/tools/caffe train --solver=solver.prototxt
This works for the NVidia DIGITS server as well:
optirun ./digits-devserver
In addition, Bumblebee also works on my dual-graphics desktop PC (Intel HD 4600 + GTX 750 Ti) as well. The display on my PC is driven by the Intel HD 4600 through the HDMI port on the motherboard. The NVidia GTX 750 Ti is only used for CUDA programs.
In fact, for my desktop PC, the "nvidia-prime" (it's actually invoked through the command line program prime-select) is used to choose the GPU that drives the desktop. I have the integrated GPU connect to the display with the HDMI port and the NVidia GPU through a DisplayPort. Currently, the DisplayPort is inactive. The display signal comes from the HDMI port.
As far as I understand, PRIME does so by modifying /etc/X11/Xorg.conf to make either the Intel integrated GPU or the NVidia GPU the current display adapter available to X. I think the PRIME settings only makes sense when both GPUs are connected to some display, which means there need not be an Optimus link between the two GPUs like in a laptop (or, for a laptop with a Mux such as Dell Precision M4600, the Optimus is disabled in BIOS).
More information about the Display Mux and Optimus may be found here: Using the NVIDIA Driver with Optimus Laptops
Hope this helps!

Enabling Hyper V in Control Panel

I want to test Windows phone 8 App in my Windows 8 system using Visual studio ultimate 2013. I checked few tutorials on net to enable Hyper V in my system. I found that below requirements are enabled in my system.
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
Second Level Address Translation: Yes
Data Execution Prevention Available: Yes
But the problem is that I am not able to see Hyper V option in control panel under "Turn windows feature on or off ". Can someone please tell me what could be the reason for this and how can I find that option in control panel?
Below is the system Info-
OS Name: Microsoft Windows 8
OS Version: 6.2.9200 N/A Build 9200
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Workstation
OS Build Type: Multiprocessor Free
Registered Organization: Toshiba
Original Install Date: 9/9/2013, 10:02:15 PM
System Boot Time: 11/28/2013, 5:07:46 AM
System Manufacturer: TOSHIBA
System Model: Satellite C55t-A
System Type: x64-based PC
Processor(s): 1 Processor(s) Installed.
[01]: Intel64 Family 6 Model 58 Stepping 9 GenuineInt
el ~1900 Mhz
BIOS Version: Insyde Corp. 1.20, 6/7/2013
Windows Directory: C:\windows
System Directory: C:\windows\system32
Boot Device: \Device\HarddiskVolume2
System Locale: en-us;English (United States)
Input Locale: en-us;English (United States)
Time Zone: (UTC-08:00) Pacific Time (US & Canada)
Total Physical Memory: 3,975 MB
Available Physical Memory: 2,561 MB
Virtual Memory: Max Size: 4,679 MB
Virtual Memory: Available: 3,199 MB
Check this blog.
Do you have Windows 8 Pro or Enterprise 64 bit Operating System? If you don't have - probably you won't be able to run hyper V - only client version.
Have you enabled Hyper V in BIOS options?
If not go to BIOS and enable there and then you can test your app. That was the only thing that i had to do

Can't enable virtualization

I'm trying to get my Android Emulator running faster,
but i can't enable virtualization. When i open
bios, it saids that it is enabled, but when i run Intel Processor Identification Utility, it display "Supporting advanced intel processor technologies: Intel(R) Virtualization Technology: no" . But when i look at the page about my processor on intels page, it saids that my processor supports virtualization
About my machine:
Dell Studio 1749
4 GB Ram
Intel Core i5-450M CPU (specifications)
Windows 8 64bit
Thank you all!
I found the solution!
In Windows 8 i need to disable Hyper-V.. I don't know why.
Hyper-V uses the VT resources and if they are already being used by another process then they will not be available for HAXM to use.