Software Coordinating Committee Conference Call January 17, 2002 3:00 PM EST Recorder: C. DeTar Present: Brower, DeTar, Mendez, Holmgren, Simone, Edwards, Pochinski, Watson Late: Mawhinney (flu) ** Action items Agenda: 1. Status of Level 2 Design. What are all the remaining issues to resolve? My major issue is the question of support for data layouts: Three optoins (not exclusive) are: (a) Data Types (b) Masks (c) Index arrays. We have decide that QCDOC would support only one layout at high efficiency. What is this QCDOC layout? 2. Status of the vertical slice. What is the version to present at the all hands meeting? 3. Agenda for the Feb 2 Software meeting. Minutes: Brower: Goal should be to present a Pochinski vertical slice implemented with Level 2 at the all hands meeting. Brower, Pochinski, and Edwards have been discussing Level 2 design at BU. Brower: Question is how to get a variety of subsets and still get optimum performance on standard subsets? One idea is to write optimized code for standard cases and provide a callback so for nonstandard cases the user could write his/her own version of the routine. DeTar: What would the callback routine do? Brower: It would replace the functionality of the Level II routine and give the user complete flexibility. DeTar: Wouldn't a user simply bypass the Level II call in that case and go to Level I? Edwards: We could also establish subsets by context and a stack. DeTar: I worry that the user would lose track of which subset was current. DeTar: If we define standard subsets as types, such as "all", "red", "black", wouldn't we have an explosion of function names - some 16 or so for all the allowed combinations of operand types? Brower: We would require that all operands conform, so we would need only 3 function names. DeTar: What if we wanted to multiply a gauge field defined on all sites by an SU(3) vector defined on only even sites? It seems we should allow that. Brower: At BU we discussed the idea of a deferred map that converts to a different subset. Then all operands in a function call would be of a conforming type, either per se or via an explicit "map". Even(C) = Even(A) * Even(B) The map could be deferred as we are currently planning for the shift. DeTar: We would need to think about how the map idea works for the destination operand. An inverse map would be required there. DeTar: I think we are in agreement about philosophy. The details should be worked out by Robert and Rich and me. Brower: We should refine the details and have a working document to discuss in our software meeting on Feb 2. User support on a proposed pilot QCDOC machine at Columbia: Mawhinney: User support for software at Columbia? Code that supports the API should be guaranteed to run on the QCDOC. If not the QCDOC design team should make it high priority to correct the problem. Brower: There should be a separation between the software development project and eventual user software support, except to the same extent the other sites also have these issues. Mawhinney: Disagree. People currently hired under SciDAC should give that user support. We have no other budget. Brower: See your point. We should discuss this more at the JLab meeting. DOE SciDAC PI meeting: Celso: Any feedback? Mawhinney: Norman reported that the meeting seemed to have gone pretty well. Next call Thursday, January 24, 3 PM EST Conference concluded at 2:20 PM EST.