xaifBooster/testRoundTrip> ./testAll.bash
use reverse mode y/[n]n
using plain drivers
rm -f head.B head.prh* driver driver.o
rm -f -rf tmpOutput
rm -f head.f driver.f params.conf
rm -f -rf tmpOutput verifiedOutput
** running mini1 *************************************************
ln -sf <path_to_OpenaAD>/Open64/osprey1.0/targ_ia32_ia64_linux/crayf90/sgi/mfef90 .
./mfef90 -F -N132 head.f
ln -sf <path_to_OpenAD>/OpenADFortTk/obj/i686-Linux/obj/whirl2xaif .
./whirl2xaif -o head.xaif head.B
ln -sf <path_to_OpenAD>/xaif/schema/xaif.xsd .
ln -sf <path_to_OpenAD>/xaif/schema/xaif_base.xsd .
ln -sf <path_to_OpenAD>/xaif/schema/xaif_inlinable_intrinsics.xsd .
ln -sf <path_to_OpenAD>/xaif/schema/xaif_derivative_propagator.xsd .
ln -sf <path_to_OpenAD>/xaif/schema/xaif_output.xsd .
./pickAlgorithm.bash
pick one of the following algorithms
1 : BasicBlockPreaccumulation
2 : BasicBlockPreaccumulationReverse
3 : BasicBlockPreaccumulationTape
4 : BasicBlockPreaccumulationTapeAdjoint
5 : ControlFlowReversal
6 : Linearization
7 : MemOpsTradeoffPreaccumulation
pick a number: 1
./xaifBooster -i head.xaif -c <path_to_OpenAD>/xaif-1.0/schema/examples/inlinable_intrinsics.xaif -o head.xb.xaif
ln -sf <path_to_OpenAD>/OpenADFortTk/obj/i686-Linux/obj/xaif2whirl .
./xaif2whirl --structured head.B head.xb.xaif
ln -sf <path_to_OpenAD>/Open64/osprey1.0/targ_ia32_ia64_linux/whirl2f/whirl2f .
ln -sf <path_to_OpenAD>/Open64/osprey1.0/targ_ia32_ia64_linux/whirl2f/whirl2f_be .
./whirl2f -openad head.xb.x2w.B
./whirl2f translates head.xb.x2w.B into head.xb.x2w.w2f.f, based on source head.xb.x2w.f
ln -sf <path_to_OpenAD>/OpenADFortTk/postprocess/pp.pl .
perl pp.pl -f head.xb.x2w.w2f.f
f95 -c w2f__types.f
Obsolescent: w2f__types.f, line 1: Fixed source form
f95 -free -c active_module.f
f95 -free -c driver.f
f95 -c head.xb.x2w.w2f.pp.f
Obsolescent: head.xb.x2w.w2f.pp.f, line 6: Fixed source form
f95 w2f__types.o active_module.o driver.o head.xb.x2w.w2f.pp.o -o driver
ln -s simple.params.conf params.conf
mkdir -p tmpOutput
./driver
no diffs
xaifBooster/testRoundTrip
| name |
issues (small numerical differences are always expected) | ||
| tangent-linear
(using BasicBlockPreaccumulation) |
adjoint
(reverse, using BasicBlockPreaccumulationReverse)
|
||
| joint |
split |
||
| argumentArrayIndex | |||
| argumentArrayIndex2 | |||
| argumentArrayIndex3 | |||
| argumentArrayIndex4 | |||
| argumentConversion_1 | |||
| argumentConversion_2 | |||
| argumentConversion_3 | |||
| argumentConversion_4 | |||
| argumentConversion_4a | This is an example for f77 style pseudo pointer arithmetic where we interpret ax(1,1) and apx(1,1) as the beginning of a vector of length 2 rather than a scalar. This doesn't work with the f90 style conversion routines. | This is an example for f77 style pseudo pointer arithmetic where we interpret ax(1,1) and apx(1,1) as the beginning of a vector of length 2 rather than a scalar. This doesn't work with the f90 style conversion routines. | This is an example for f77 style pseudo pointer arithmetic where we interpret ax(1,1) and apx(1,1) as the beginning of a vector of length 2 rather than a scalar. This doesn't work with the f90 style conversion routines. |
| argumentConversion_4b | The interface for foo in the definition of head does not pick up on the activity of the formal parameters bug report | The interface for foo in the definition of head does not pick up on the activity of the formal parameters bug report | The interface for foo in the definition of head does not pick up on the activity of the formal parameters bug report |
| argumentConversion_4c | |||
| argumentConversion_5 | |||
| bat | |||
| boxmodel | |||
| box_timestep | |||
| bratu | |||
| cast1 | |||
| ConsFold | |||
| ConsFoldSimp0 | |||
| constant0 | |||
| constant1 | |||
| constPrec | |||
| daerfj | |||
| dfdcfj | |||
| dfdcfj_MemOps | |||
| directDependency1 | |||
| directDependency2 | |||
| directDependency3 | |||
| duud1 | |||
| duud2 | |||
| duudChains1 | |||
| duudChains2 | |||
| externalCalls1 | |||
| externalCalls2 | |||
| externalCalls3 | |||
| float_intrinsic | |||
| gcmBit1 | |||
| globalActive_1 | |||
| globalActive_2 | |||
| globalActive_3 | |||
| globalActive_4 | |||
| globalActive_5 | |||
| globalActive_6 | R1: the analysis doesn't recognize the module variables as active, bug report | R1: the analysis doesn't recognize the module variables as active, bug report | R1: the analysis doesn't recognize the module variables as active, bug report |
| globalActive_7 | |||
| globalActive_8 | |||
| If_Loop_1 | |||
| If_Loop_2 | |||
| If_Loop_3 | |||
| If_Loop_4 | |||
| If_Loop_5 | |||
| IfStatement_1 | |||
| IfStatement_2 | |||
| lion | |||
| Loop_1 | |||
| Loop_2 | |||
| Loop_3 | |||
| Loop_simple_1 | |||
| Loop_simple_10 | |||
| Loop_simple_10a | |||
| Loop_simple_11 | |||
| Loop_simple_12 | the simple loop assumptions are violated, a more generic solution involves the recomputation by inversion etc.; bug report | the simple loop assumptions are violated, a more generic solution involves the recomputation by inversion etc.; bug report | |
| Loop_simple_13 | |||
| Loop_simple_14 | |||
| Loop_simple_15 | |||
| Loop_simple_1a | |||
| Loop_simple_1b | |||
| Loop_simple_1c | |||
| Loop_simple_1d | |||
| Loop_simple_1e | |||
| Loop_simple_1f | |||
| Loop_simple_2 | |||
| Loop_simple_2a | |||
| Loop_simple_3 | |||
| Loop_simple_4 | |||
| Loop_simple_4a | We try to restore j but cannot see that head as top level routine is called with constant for the actual parameter. This is expected behavior. | We try to restore j but cannot see that head as top level routine is called with constant for the actual parameter. This is expected behavior. | |
| Loop_simple_4b | the simple loop assumptions are violated, a more generic solution involves the recomputation by inversion etc.; bug report | the simple loop assumptions are violated, a more generic solution involves the recomputation by inversion etc.; bug report | |
| Loop_simple_4c | |||
| Loop_simple_5 | |||
| Loop_simple_6 | |||
| Loop_simple_7 | |||
| Loop_simple_7a | |||
| Loop_simple_8 | |||
| Loop_simple_9 | |||
| Loop_simple_9a | the simple loop assumptions are violated, a more generic solution involves the recomputation by inversion etc.; bug report | the simple loop assumptions are violated, a more generic solution involves the recomputation by inversion etc.; bug report | |
| Loop_simple_9b | the simple loop assumptions are violated, a more generic solution involves the recomputation by inversion etc.; bug report | the simple loop assumptions are violated, a more generic solution involves the recomputation by inversion etc.; bug report | |
| mini1 | |||
| nested_calls_1 | |||
| nested_calls_2 | |||
| nested_calls_3 | |||
| nested_calls_4 | |||
| nested_dfdcfj | |||
| nestedFunc0 | postprocessor fails on contained subroutines bug report | postprocessor fails on contained subroutines bug report | |
| nestedFunc1 | postprocessor fails on contained subroutines bug report | postprocessor fails on contained subroutines bug report | |
| NestedIf | |||
| NestedIfLoop | |||
| NestedLoopIf | |||
| NestedLoops | |||
| passiveStatement | |||
| passiveSubroutine | |||
| readWrite1 | format failure for read of active variable, bug report | format failure for read of active variable, bug report | format failure for read of active variable, bug report |
| readWrite2 | format failure for read of active variable, bug report | format failure for read of active variable, bug report | format failure for read of active variable, bug report |
| RoehFlux | |||
| RoehFlux_MemOps | |||
| Select_1 | |||
| Select_2 | control flow unparsing problem; bug report | control flow unparsing problem; bug report | |
| Select_3 | |||
| SeqOfIfs | |||
| SeqOfLoops | |||
| sideEffect_1 | |||
| sideEffect_2 | |||
| sideEffect_3 | |||
| sideEffect_4 | |||
| signIntrinsic | |||
| simple0 | |||
| simple1 | |||
| simple2 | |||
| simple3 | |||
| speelpenning | |||
| tanh_f_arg | |||
| todd | |||
| todd1 | |||
| u_def_struct_1 | fix up structure access bug report | fix up structure access bug report | fix up structure access bug report |
| u_def_struct_2 | fix up structure access bug report | fix up structure access bug report | fix up structure access bug report |