yep, I'm using 10.1.0 and also noticed the same in 9.2.2.

in short static linking is essential for reasonable performance of parallel applications on Cray systems. In this scenario the application is duplicated across 100s/1000s of compute nodes which share a remote-parallel file system (Lustre/GPFS). As a dynamically linked application starts, shared library loading hit's the file system hard. However, Cray suggests users run static linked executables. Their application launcher bypasses the file system and copies statically linked executable directly into a ram fs onto the set of compute nodes that a given job is scheduled to run on. This avoids file system contention that would be introduced by a parallel application's shared library loading.

I maintain and support ParaView and interactive OpenGL based rendering application on NERSC's Crays. Given that this is an interactive application, having a reasonable startup time is important. Users have complained and I've observed times when using shared libraries when app startup takes more than 30 min! if we build fully static executable startup time is reduced to seconds.

For me statically linked mesa is important, which is why I want to report this. Without OSMesa we can't use these systems, and the new llvmpipe OSMesa state tracker has been really awesome, allowing us to do things we couldn't in the past without GPUs. I hope that you don't discontinue static link support.

We have experienced some segfaults in llvmpipe OSMesa in the static linked version (bt shows SEGV at create_jit_texture_type.isra.1@draw_llvm.c:128). If I can reproduce this off the Cray I will file a bug report. Thought I'd mention in case you can confirm that there is a known issue with the static link.

Thanks
Burlen

On 03/11/2014 03:13 PM, Emil Velikov wrote:
On 11/03/14 20:31, Burlen Loring wrote:
Hi All,

Hi Burlen

When I make a static build of mesa with osmesa+llvm, all of the llvm
related symbols are undefined in the resulting libOSMesa.a archive.
There is an "la" file produced that lists the dependencies, however
shouldn't those all be linked into the installed archive? for reference
see my configure line below.

Earlier today I have pushed a patch [1] for mesa that completely disabled static building for all of mesa.

While that may not be the reason for the problem you're seeing (afaics you're using mesa 10.1.0 and my patch just made it into master) it would be great if you can let us know what the your use case of static OSMesa is, so that we can evaluate the situation.


Many thanks
Emil

P.S. With the commit [1] --enable-static --disable-shared will produce an warning message and will fall back to --disable-static --enable-shared.

[1] http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6efbac9fb502c4f0166e7a0680b6828e1f6926c

Burlen


Mesa-10.1.0$make distclean; autoreconf -fi; ./configure CXXFLAGS="-O2 -g
-fPIC -DDEFAULT_SOFTWARE_DEPTH_BITS=31" CFLAGS="-O2 -g -fPIC
-DDEFAULT_SOFTWARE_DEPTH_BITS=31" --enable-static=yes --enable-shared=no
--disable-xvmc --disable-glx --disable-dri --with-dri-drivers=
--with-gallium-drivers=swrast --enable-texture-float
--disable-shared-glapi --disable-egl --with-egl-platforms=
--enable-gallium-osmesa --enable-gallium-llvm=yes
--with-llvm-prefix=/work/apps/llvm/3.2/
--prefix=/work/apps/mesa-10.1.0-a && make -j2 && make -j4 install
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to