[gmx-developers] compiling GROMACS and SCALASCA

Mark Abraham mark.j.abraham at gmail.com
Mon Jun 27 22:04:05 CEST 2016


Hi,

That cmake line can't work because you haven't told the shell that some of
your spaces are intended to be passed as the arguments. However, you are
right that CMake expects a compiler, not an arbitrary string to dump onto a
command line. SCALASCA's approach seems to assume that you're using a plain
Makefile. You can work around that by providing your own script that does
function like a compiler, where you modify the command-line arguments to
suit SCALASCA. CMake just calls that script and it's now up to you to
construct it so that it works the way SCALASCA needs. (Or ask them to make
one, to help their tool be more useful.)

Mark

On Mon, Jun 27, 2016 at 9:43 PM jing liang <jingliang2015 at gmail.com> wrote:

> Hi,
>
> I am trying to compile GROMACS along with SCALASCA. I compile
> C programs with scalasca using the command:
>
>  /software/bin/scalasca -instrument /software/intel/icc program.c
>
> Following that idea, I tried to use the CC/C++ environmental variables as
> follows:
>  -DCMAKE_C_COMPILER=/software/bin/scalasca -instrument /software/intel/icc
> -DCMAKE_CXX_COMPILER=/software/bin/scalasca -instrument
> /software/intel/icpc
>
> However, it seems that cmake interprets that the compiler is
> just /software/bin/scalasca and not the entire line:
> /software/bin/scalasca -instrument /software/intel/icc  (the same happens
> with c++)
>
> or maybe the line is too long.
>
> Do you know if this is the proper way to install GROMACS with SCALASCA
> enabled? Or maybe there is something better?
>
> Any suggestion on how to include SCALASCA path into the compiler path?
>
> Here is the complete instruction I am using together with the output.
> The GROMACS version I am trying is 5.0.
>
> Note:  without the SCALASCA path, both icc and icpc compilers are well
> recognized by cmake and I am able to install GROMACS.
>
>
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> cmake -D CMAKE_INSTALL_PREFIX=${INSTALL_PATH}
> -DCMAKE_C_COMPILER=/software/bin/scalasca -instrument /software/intel/icc \
> -DCMAKE_CXX_COMPILER=/software/bin/scalasca -instrument
> /software/intel/icpc  \
> -D Boost_INCLUDE_DIR=/software/build03/include -D GMX_FFT_LIBRARY=mkl -D
> MKL_INCLUDE_DIR=${MKL}/include \
>  -D MKL_LIBRARIES=${MKL}/lib/intel64/libmkl_rt.so -D
> REGRESSIONTEST_PATH=${REGTS} \
>  -D REGRESSIONTEST_DOWNLOAD=OFF ${GMX}
> -- The C compiler identification is unknown
> -- The CXX compiler identification is unknown
> -- Check for working C compiler: /software/bin/scalasca
> -- Check for working C compiler: /software/bin/scalasca -- broken
> CMake Error at /software/CMakeTestCCompiler.cmake:61 (message):
>   The C compiler
>   "/software/bin/scalasca" is not able
>   to compile a simple test program.
>
>   It fails with the following output:
>
>    Change Dir: /home/jliang/BUILD_TEST/CMakeFiles/CMakeTmp
>
>
>
>   Run Build Command:/usr/bin/gmake "cmTryCompileExec1997940207/fast"
>
>   /usr/bin/gmake -f CMakeFiles/cmTryCompileExec1997940207.dir/build.make
>   CMakeFiles/cmTryCompileExec1997940207.dir/build
>
>   gmake[1]: Entering directory
>   `/home/jliang/BUILD_TEST/CMakeFiles/CMakeTmp'
>
>   /software/bin/cmake -E cmake_progress_report
>   /home/jliang/BUILD_TEST/CMakeFiles/CMakeTmp/CMakeFiles 1
>
>   Building C object
>   CMakeFiles/cmTryCompileExec1997940207.dir/testCCompiler.c.o
>
>   /software/bin/scalasca -o
>   CMakeFiles/cmTryCompileExec1997940207.dir/testCCompiler.c.o -c
>   /home/jliang/BUILD_TEST/CMakeFiles/CMakeTmp/testCCompiler.c
>
>   Unexpected argument: -o
>
>   Scalasca 2.1
>
>   Toolset for scalable performance analysis of large-scale parallel
>   applications
>
>   usage: scalasca [OPTION]...  ACTION <argument>...
>
>       1. prepare application objects and executable for measurement:
>          scalasca -instrument <compile-or-link-command> # skin (using
> scorep)
>       2. run application under control of measurement system:
>          scalasca -analyze <application-launch-command> # scan
>       3. interactively explore measurement analysis report:
>          scalasca -examine <experiment-archive|report>  # square
>
>
>
>   Options:
>
>      -c, --show-config  show configuration summary and exit
>      -h, --help         show this help and exit
>      -n, --dry-run      show actions without taking them
>          --quickref     show quick reference guide and exit
>      -v, --verbose      enable verbose commentary
>      -V, --version      show version information and exit
>
>
>
>   gmake[1]: ***
> [CMakeFiles/cmTryCompileExec1997940207.dir/testCCompiler.c.o]
>   Error 1
>
>   gmake[1]: Leaving directory
>   `/home/jliang/BUILD_TEST/CMakeFiles/CMakeTmp'
>
>   gmake: *** [cmTryCompileExec1997940207/fast] Error 2
>
>
>
>
>
>   CMake will not be able to correctly generate this project.
> Call Stack (most recent call first):
>   CMakeLists.txt:45 (project)
>
>
> -- Configuring incomplete, errors occurred!
>
>
>
>
> --
> Gromacs Developers mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List before
> posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers
> or send a mail to gmx-developers-request at gromacs.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20160627/dd7528a2/attachment-0002.html>


More information about the gromacs.org_gmx-developers mailing list