Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

(No OpenGL) (No OpenGL) in ERR file

I compiled energyplus for ARM using these instructions, https://github.com/NREL/EnergyPlus/wiki/BuildingEnergyPlus which worked fine.

My first compilation in the "ccmake ../EnergyPlus" step complained about not being able to find OpenGL, but I compiled anyway and planned to fix that later.

After compilation, I successfully simulated an IDF but this appeared in the ERR file,

Program Version,EnergyPlus, Version 9.4.0-037255b88c (No OpenGL) (No OpenGL), YMD=2020.06.02 19:00,

Then I went back and installed recommended packages for OpenGL, after which the "ccmake ../EnergyPlus" step no longer complained about not finding OpenGL, but the (No OpenGL) (No OpenGL) is still present in the terminal simulation output and in the ERR file.

I searched a bit in the EnergyPlus directory and found this in CMakeLists.txt

set( OPENGL_REQUIRED ON CACHE BOOL "Require OpenGL in order to build" )
if(OPENGL_REQUIRED)
  # On Linux specifically, OpenGL is complaining about being able to find OpenGL using both the
  # exported module target or the library variables.  If it has to choose, and doesn't have a user-preference,
  # a warning is shown on every configure step.  This next line just sets the preference so the warning won't show up.
  # See this for more info: https://cmake.org/cmake/help/v3.10/module/FindOpenGL.html#linux-specific
  set(OpenGL_GL_PREFERENCE GLVND)
  find_package(OpenGL)
  if(NOT OPENGL_FOUND)
    set(CMAKE_VERSION_BUILD "${CMAKE_VERSION_BUILD} (No OpenGL)" CACHE STRING "Build number" FORCE) # git sha
    message(WARNING "OpenGL libraries were not found. EnergyPlus will be compiled without GPU acceleration capabilities.")
  endif()
else()
  set( OPENGL_FOUND FALSE )
endif()

which led me to the link https://cmake.org/cmake/help/v3.10/module/FindOpenGL.html#linux-specific where cmake addresses the issue.

So now I'm not really sure if my EnergyPlus succeeds or fails to find and use OpenGL during the simulation. Is there an easy way to test whether or not my IDF simulation is or is not using OpenGL, like an on/off object field value that drastically increases simulation time if OpenGL is or isn't present?

For a little background, I'm investigating different computer hardware for completing about 2 million energyplus simulations. Raspberry Pi is actually looking pretty good against AWS, buying a server rack, etc. in terms of speed per dollar spent. They're slower, but way cheaper, data is made locally (10,000 simulations made 200GB of files), ease of use (expecting mechanical engineers to go from single energyplus simulations to distributed computing on a high performance cluster through a terminal is a bit much), and versatility for other projects like IoT sensors for equipment.

(No OpenGL) (No OpenGL) in ERR file

I compiled energyplus for ARM using these instructions, https://github.com/NREL/EnergyPlus/wiki/BuildingEnergyPlus which worked fine.

My first compilation in the "ccmake ../EnergyPlus" step complained about not being able to find OpenGL, but I compiled anyway and planned to fix that later.

After compilation, I successfully simulated an IDF but this appeared in the ERR file,

Program Version,EnergyPlus, Version 9.4.0-037255b88c (No OpenGL) (No OpenGL), YMD=2020.06.02 19:00,

Then I went back and installed recommended packages for OpenGL, after which the "ccmake ../EnergyPlus" step no longer complained about not finding OpenGL, but the (No OpenGL) (No OpenGL) is still present in the terminal simulation output and in the ERR file.

I searched a bit in the EnergyPlus directory and found this in CMakeLists.txt

set( OPENGL_REQUIRED ON CACHE BOOL "Require OpenGL in order to build" )
if(OPENGL_REQUIRED)
  # On Linux specifically, OpenGL is complaining about being able to find OpenGL using both the
  # exported module target or the library variables.  If it has to choose, and doesn't have a user-preference,
  # a warning is shown on every configure step.  This next line just sets the preference so the warning won't show up.
  # See this for more info: https://cmake.org/cmake/help/v3.10/module/FindOpenGL.html#linux-specific
  set(OpenGL_GL_PREFERENCE GLVND)
  find_package(OpenGL)
  if(NOT OPENGL_FOUND)
    set(CMAKE_VERSION_BUILD "${CMAKE_VERSION_BUILD} (No OpenGL)" CACHE STRING "Build number" FORCE) # git sha
    message(WARNING "OpenGL libraries were not found. EnergyPlus will be compiled without GPU acceleration capabilities.")
  endif()
else()
  set( OPENGL_FOUND FALSE )
endif()

which led me to the link https://cmake.org/cmake/help/v3.10/module/FindOpenGL.html#linux-specific where cmake addresses the issue.

So now I'm not really sure if my EnergyPlus succeeds or fails to find and use OpenGL during the simulation. Is there an easy way to test whether or not my IDF simulation is or is not using OpenGL, like an on/off object field value that drastically increases simulation time if OpenGL is or isn't present?

For a little background, I'm investigating different computer hardware for completing about 2 million energyplus simulations. Raspberry Pi is actually looking pretty good against AWS, buying a server rack, etc. in terms of speed per dollar spent. They're slower, but way cheaper, data is made locally (10,000 simulations made 200GB of files), ease of use (expecting mechanical engineers to go from single energyplus simulations to distributed computing on a high performance cluster through a terminal is a bit much), and versatility for other projects like IoT sensors for equipment.