Generating C++BLAS wrapers with Mathematica

*To*: mathgroup at smc.vnet.net*Subject*: [mg14707] Generating C++BLAS wrapers with Mathematica*From*: Anton Antonov <anton at unidhp1.uni-c.dk>*Date*: Tue, 10 Nov 1998 01:21:00 -0500*Organization*: UNI-C, Denmark*Sender*: owner-wri-mathgroup at wolfram.com

Hi, I made some Mathematica program for generating the C++ wrappers for the BLAS subroutines. We wanted to use the overloading facilities of C++ in order to get some of the arguments by default. Than the possible calls become too many because if we take for example the _GEMM routine it has 13 arguments: _GEMM(MajorOrder,TransposeA,TransposeB,M,N,K,alpha,A,LDA,B,LDB,beta,C,LDC) If each argument could be or could be not in a particular call this means 2^13 possible argument lists for a call of the routine. Of course we impose some restrictions some of the arguments to be always in the argument list. After these restrictions the possible calls for _GEMM are 754. Still too many. The total amount of the BLAS routines is about 40. So some automatic generation for the wrappers is needed. This could be done by some of the script languages but I choose Mathematica because the functions written by it could serve as (or easily transferred to) a mathematical proof that the code generated is correct according to the C++ overloading resolution mechanism. Now my questions are: Do you think it is something valuable to be documented? (I mean the Mathematica programs and their use as a proof.) I think "Yes" but may be I am wrong. And how valuable will be this documentation? To write it like a technical report or to post it somewhere? If it have to be posted where? I would like hear more opinions for that because I consider the possibility these endeavors to be trivial. Thank you very much Anton