[gmx-developers] compiling GROMACS and SCALASCA

Mark Abraham mark.j.abraham at gmail.com
Mon Jun 27 23:03:16 CEST 2016


Hi,

No, you need a script that can implement

yourscript.sh -c source.c -o source.o

by producing

scalasca -instrument /path/to/icc -c source.c -o source.o

But please check the SCALASCA documentation - if they don't support CMake
or document how to use it, then they need to hear that you want it to work.

Mark

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

> Hi,
>
> I have the script call cc.sh which has the lines:
> #!/bin/sh
> /scalasca -instrument "$@"
>
> where I should call that script?
>
> thanks.
>
>
>
>
> 2016-06-27 22:03 GMT+02:00 Mark Abraham <mark.j.abraham at gmail.com>:
>
>> 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.
>>
>>
>> --
>> 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.
>>
>
> --
> 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/2c27c620/attachment.html>


More information about the gromacs.org_gmx-developers mailing list