CBICA / CaPTk

Cancer Imaging Phenomics Toolkit (CaPTk) is a software platform to perform image analysis and predictive modeling tasks. Documentation: https://cbica.github.io/CaPTk
https://www.cbica.upenn.edu/captk
Other
173 stars 63 forks source link

Capability to fall back to software rendering in cluster environment #569

Open sarthakpati opened 5 years ago

sarthakpati commented 5 years ago

Is your feature request related to a problem? Please describe. CaPTk gives an error about OpenGL version issue on clustered environments (there are GPUs present but it is not used for display).

Describe the solution you'd like Falling back to software rendering (for instance, the same way MATLAB does this) would fix this.

Describe alternatives you've considered Tried putting a specific environment variable for this but it didn't work.

ashishsingh18 commented 4 years ago

We should try to emulate this on the Linux machine in lab with a minimal Qt+VTK application that I can get ready. I also want to try and see if going back to older OpenGL has any effect.

sarthakpati commented 4 years ago

I just added this on a branch and it is build on Azure: https://github.com/sarthakpati/CaPTk/commit/f340732ab2b4d6b5f2637c705790f20546c367ed

There shouldn't be any other change here, right?

sarthakpati commented 4 years ago

I just added this on a branch and it is build on Azure: sarthakpati@f340732

There shouldn't be any other change here, right?

This just finished building. See results here. Compilation error because Superbuild did not recognize the variable VTK_USE_QVTK_QTOPENGL, thereby ensuring that the class QVTKOpenGLWidget did not get built.

ashishsingh18 commented 4 years ago

QVTKOpenGLWidget won't be there since it is based on the newer OpenGL. I will create a minimal example with the older version and put it in the repo(https://github.com/ashishsingh18/QtTests) once VTK is ready. I want to try a bunch of things and trying it on a lab machine might help narrow the problem and get to a solution fast.

ashishsingh18 commented 4 years ago

I just added a simple Qt+VTK application to test remote rendering. It is at RemoteRenderingTest. Let's try this on the lab Linux machine and see if we are able to replicate the cluster issue.

giemmecci commented 4 years ago

Hi, I was pointed here from a different issue; I've installed CaPTk correctly but when trying to run it I get this error:

(base) [user ~]$ ~/CaPTk/1.7.3.nonRelease.20190821/captk 
QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
Checking for compatible OpenGL - this will happen only once.
QXcbIntegration: Cannot create platform offscreen surface, neither GLX nor EGL are enabled
QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
QOpenGLFunctions created with non-current context
Segmentation fault (core dumped)

I've updated OpenGL but the problem persists

(base) [user ~]$ glxinfo | grep 'version'
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 4.6.0 NVIDIA 418.67
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL version string: 4.6.0 NVIDIA 418.67
OpenGL shading language version string: 4.60 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 418.67
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
    GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix,

Thanks