#48: Enhancements for the Runtime Library ------------------------------+--------------------------------------------- Reporter: snarayan | Owner: snarayan Type: enhancement | Status: new Priority: major | Milestone: Component: Canonicalization | Version: Keywords: | ------------------------------+--------------------------------------------- 1. Separate the Sparse and Dense runtime libraries from the main ADIC library.The user should also get a local copy of the runtime library which should also solve the issue of setting the ADIC_GRADVEC_LENGTH in two places. 2. Make the sparse and dense runtime interfaces the same. Therefore, the differentiated code will be created once, but can be linked against the sparse or dense libraries on demand. 3. All routines in the runtime libraries should be changed to macos as far as possible. 4. Dynamically create both the sparse and dense Sax/Saxpy macros. 5. Instead of an STL::set and and STL:: list of sets to maintain non-zero Jacobian, think of other ways. 6. All DERIV_TYPE objects should have their grad array zeroed out, temporaries should have their values zeroed out. This step maybe unneeded if XAIFBooster always sets the values of temporaries before use. 7. Create a way for the user to know that the generated code can overrun stack space, and that temporaries and existing variables should be dynamically allocated. 8. Create a way to dynamically allocate temporaries and existing variables. -- Ticket URL: <http://trac.mcs.anl.gov/projects/ADIC/ticket/48> ADIC <http://trac.mcs.anl.gov/projects/ADIC> ADIC: Automatic Differentiation for C and C++