my code finally compiles fine on my arm cluster.
now i want to run it.
it does not run on the arm itself, as there is no screen attached
1 OpenCL Platforms found
Platform 0: (EMBEDDED_PROFILE OpenCL 1.1 ) Vivante Corporation Vivante OpenCL Platform
1 OpenCL devices found for this platform
Device 0: Vivante Corporation Vivante OpenCL Device
Initializing GLUT...
freeglut (./prognonmpi): failed to open display ''
when I access the cluster with ssh -Y name i get the following erro message
1 OpenCL Platforms found
Platform 0: (EMBEDDED_PROFILE OpenCL 1.1 ) Vivante Corporation Vivante OpenCL Platform
1 OpenCL devices found for this platform
Device 0: Vivante Corporation Vivante OpenCL Device
Initializing GLUT...
init 160 x 100
Loading extensions: Missing GL version
Error: failed to get minimal extensions for demo
This sample requires:
OpenGL version 1.5
GL_ARB_vertex_buffer_object
GL_ARB_pixel_buffer_object
glxinfo glxgears and so on are running fine and show on my screen, when run on the cluster
which package is missing to get the program running?
Related
As part of my studies, I have to be able to compile and run OpenGL 4.5-based programs, and I only have a Mac to do so. I am using Ubuntu in a VM to have a more programming-friendly environment, but my software and hardware (macOS Sierra 10.12.6, Intel HD Graphics 4000) is limited to 3.3 contexts. Here is additional info (ran from the Ubuntu VM) :
$ glxinfo | grep 'OpenGL core'
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.0.5
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
The assignments use GLFW. I've been trying to get it to use Mesa (which it does, with llvmpipe) with software rendering so that it is independent from the hardware capabilities (if I understand correctly), but the window creation always fails when I try to create a 4.5 context. I looked around and tried using export LIBGL_ALWAYS_SOFTWARE=1 to no avail. The build chain uses CMAKE to build both the assignments and the actual GLFW lib, for what it's worth (I noticed that it uses X11 with the xorg-dev packages).
Does Mesa implement any version of OpenGL 4 ? If it does, can I force software rendering on GLFW's part so that I can create an OpenGL 4.x context ?
Does Mesa implement any version of OpenGL 4 ?
Their Intel & Radeon hardware drivers do.
... can I force software rendering on GLFW's part so that I can create an OpenGL 4.x context ?
Nope, all of Mesa's software renderers (softpipe, llvmpipe, & swr) top out at OpenGL 3.3.
As of Mesa 20.2 llvmpipe supports OpenGL 4.5.
I currently am using VMWARE 11 guest Linux Mint, on a host win 8.1
So i am basically trying to update OpenGL so that i can program with higher versions of GLSL and OpenGL such as 3.3 , as it currently stands when i check with glxinfo | grep OpenGL , i get
$ glxinfo | grep OpenGL
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on SVGA3D; build: RELEASE;
OpenGL version string: 2.1 Mesa 10.1.3
OpenGL shading language version string: 1.20
OpenGL extensions:
Now i went to Mesa3d website and downloaded the 10.5.6(as you can see above the one i have installed is 10.1.3)in which the OPenGL version has been updated to version 3.3 which is what i would prefer to have over the current version which is 1.2(shading language GLSL) i downloaded the tar , extracted it , ran ./configure as instructed, and it did its thing, ran make as ./configure finished by saying run make now , and finally ran sudo install make which was the last autoconf instruction , and all completed successfully, i even ran them a second time when i found out that glxinfo | grep OpenGL was still giving me the same return as before i "installed" the mesa 3d drivers
so i am trying to find out what is missing here and why this is not installing?
is it because of the fact that i am running a guest OS linux on a host vmware?or is it something less complicated and actually fixable?
Did you uninstall the system Mesa installation? Because if not you've got two Mesa installations side-by-side and that will not end well. Also when configuring you should select the parts of Mesa you want. Which in your case would be none of the GPU drivers and just the softpipe implementation.
In Intel platform and Intel SDK compiler clBuildProgram returns CL_BUILD_PROGRAM_FAILURE clGetProgramBuildInfo shows status as 0. But the AMD and NVIDIA platforms will not produce any error for the same code when building with their SDK and compiler.
The program build log is shown below
OPENCL ERROR : CL_BUILD_PROGRAM_FAILURE
Build failed; error=-11, status=0, programLog:
Compilation started
Compilation done
Linking started
Linking done
Kernel <Kernel1> was successfully vectorized
The available platforms and devices are
1. FULL_PROFILE - OpenCL 1.2 - Intel(R) OpenCL - Intel(R) Corporation
1. Intel(R) Core(TM) i5-4670 CPU # 3.40GHz - OpenCL 1.2 (Build 76413)
2. Intel(R) HD Graphics 4600 - OpenCL 1.2
Operating System is Windows 7 64 bit.
I found the problem. It is because of
#pragma OPENCL EXTENSION cl_khr_fp64: enable
if I comment this and made the double to float then clBuildProgram will return success. But by enabling this gives the output.
I'm having trouble running an opengl(3.3) program through ssh.
When I run:
glxinfo | grep -i opengl
on my own computer (ubuntu 12.04) I get:
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: Quadro FX 580/PCIe/SSE2
OpenGL version string: 3.3.0 NVIDIA 304.116
OpenGL shading language version string: 3.30 NVIDIA via Cg compiler
OpenGL extensions:
when I ssh to the remote computer(ubuntu 10.04) and run the same command, I get:
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: Quadro FX 580/PCIe/SSE2
OpenGL version string: 2.1.2 NVIDIA 304.116
OpenGL shading language version string: 1.20 NVIDIA via Cg compiler
OpenGL extensions:
For some reason I'm not getting the more up to date version of opengl(3.3) when sshing to the remote computer. Is there a workout to this problem that doesn't require admin privileges on the remote computer?
OpenGL over SSH means using an indirect rendering context which uses the GLX protocol to send OpenGL commands to the X server. The GLX protocol goes only up to OpenGL-2.1. There's no support for OpenGL-3 or later in GLX so far. Essentially you're SOL until someone finally gets around to specify/implement GLX3.
I have a late 2009 Macbook http://support.apple.com/kb/SP579
I upgraded the operating system everytime a new one came out, so I'm using 10.8 Mountain Lion now. I was trying to get a program to work when the developer suggested I check my Open GL version with glxinfo.
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce 9400M OpenGL Engine
OpenGL version string: 2.1 NVIDIA-8.12.47 310.40.00.05f01
OpenGL shading language version string: 1.20
OpenGL extensions:
According to this https://developer.apple.com/graphicsimaging/opengl/capabilities/
I should have Open GL version 3.2, but I don't. I've also looked for newer Nvidia drivers, but the nvidia drivers download website doesn't show any for OS X 10.8 (Mountain Lion), GeForce 9400M. The Open GL website says that unlike other operating systems, Open GL is updated along with the other OS X updates.
What do? How do I get OpenGL to 3.2?
I check my Open GL version with glxinfo
glxinfo goes through the X11 server. The OpenGL support of the X11 server which is shipping with OS X is rather limited. You must check with a tool that queries the native OpenGL API of OS X, not the GLX emulation layer.