Re: [Autoconf] help configure project for HPC - non-standard ways to run the executable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Oops, sorry for my poor English.

> The proprietary
> toolchain for HPC systems might be something what the original
> designers of autotool expected.

I meant "might be something *different from* what the original
designers of autotool expected".

Regards,
mpsuzuki

suzuki toshiya wrote:
> Dear Anton,
> 
> I'm afraid there is no standard mechanism to control the
> execution of cross compiled binary. Yet I've not detected
> which autoconf macro defines it, but I can find many
> attempts trying to execute "./conftest" directly, in
> generated configure script - no variable to insert the
> intermediate executor.
> 
> # my experience with HPC related field is very legacy,
> # but I think it was very popular situation that the
> # accessible UNIX frontend provides the cross compilers
> # and cannot execute the compiled binary, and the system
> # executing the compiled binary do not have Unix like
> # frontend.
> 
> autotools supports the situation that the cross compiler makes
> a binary executable but the system cannot execute it directly.
> (e.g. ./configure --host=m68k-coff --build=i386-pc-linux-gnu)
> 
> if you do not expect any results from the execution of the
> compiled binary, the nearest way might be using autotools as
> if you work for cross build.
> 
> However, in my impression, current autotools are optimized for
> GNU-based cross development toolchain which has well-structured
> prefix for each tools (cc, as, ar, ld, etc). The proprietary
> toolchain for HPC systems might be something what the original
> designers of autotool expected.
> 
> What kind of the automation you want to realize by autotool?
> 
> Regards,
> mpsuzuki
> 
> On 9/21/2017 12:43 AM, Anton Shterenlikht wrote:
>> Hi, I'm new to this list.
>>
>> I develop a Fortran 2008 coarrays project
>> targeting HPC systems.
>> I'd like to simplify my build process with autotools.
>>
>> The immediate problem is that the executable is
>> run in different ways on different platforms.
>>
>> For example, OpenCoarrays compiler is "caf", but
>> the executable is run with "cafrun -np .. ./a.out".
>> This is similar to "mpif90" and "mpirun" for MPI
>> programs. On Cray I compile with "ftn" and run with
>> "aprun" (it's also cross-compiled, but I'm not there yet).
>>
>> So I get errors like:
>>
>> configure:2850: caf -o conftest    conftest.f  >&5
>> configure:2854: $? = 0
>> configure:2861: ./conftest
>> [mpiexec@xxxxxxxxxxxxxxxxxxxxxxxxxxxx] match_arg (utils/args/args.c:159): unrecognized argument pmi_
>> args
>> [mpiexec@xxxxxxxxxxxxxxxxxxxxxxxxxxxx] HYDU_parse_array (utils/args/args.c:174): argument matching r
>> eturned error
>> [mpiexec@xxxxxxxxxxxxxxxxxxxxxxxxxxxx] parse_args (ui/mpich/utils.c:1596): error parsing input array
>> [mpiexec@xxxxxxxxxxxxxxxxxxxxxxxxxxxx] HYD_uii_mpx_get_parameters (ui/mpich/utils.c:1648): unable to
>>   parse user arguments
>> [mpiexec@xxxxxxxxxxxxxxxxxxxxxxxxxxxx] main (ui/mpich/mpiexec.c:153): error parsing parameters
>>
>> because the invocation should have been
>>   "cafrun -np .. ./conftest"
>> for this compiler.
>>
>> Is there a standard way of implementing this
>> in configure.ac?
>>
>> I looked at ax_prog_fc_mpi:
>>
>> https://www.gnu.org/software/autoconf-archive/ax_prog_fc_mpi.html
>>
>> which looks similar but not exactly what I need.
>>
>> Thanks
>>
>> Anton
>>
>> _______________________________________________
>> Autoconf mailing list
>> Autoconf@xxxxxxx
>> https://lists.gnu.org/mailman/listinfo/autoconf
>>
> 
> 
> _______________________________________________
> Autoconf mailing list
> Autoconf@xxxxxxx
> https://lists.gnu.org/mailman/listinfo/autoconf
> 


_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
https://lists.gnu.org/mailman/listinfo/autoconf



[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux