next up previous contents
Next: A sample run Up: Code generation Previous: Code generation   Contents

Running the code generator

codegen.pl takes the following arguments:

codegen.pl [-d] [-uf] [-e] [-ub]

-d Inserts sanity checks in the solver code. This option should not be used for production solvers, but can be useful when debugging the code generator.
-uf Unroll all loops in the factorization. Instead of generating loops when applying Givens rotations to consecutive elements, the loops are unrolled.
-e Allow extra work in factorization and back-substitution. When generating loops, fewer (but longer) loops can often be generated, if we rotate a few zero elements that seperate two consecutive rows of non-zero elements. This will produce code that does unnessecary work, but may improve run-time on some architectures, since the total number of instructions is reduced.
-ub Unroll all loops in the back-substitution. This works just like the -uf option, except it affects the back-substitution instead of the factorization.
For best results, one should experiment with the unrolling options. Often just specifying the -uf option works well. But it all depends on architecture, and the structure of the system solved.




next up previous contents
Next: A sample run Up: Code generation Previous: Code generation   Contents

1999-04-09