[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