Software Coordinating Committee Conference Call October 18, 2001 3:00 PM EDT Recorder: C. DeTar Present: DeTar, Holmgren, Simone, Brower, Pochinski, Edwards, Watson Absent: Mendez Mawhinney ** = action required #1 Writing the Software Section of Quarterly Progress Report: Draft due Oct 31 --- Halloween. 1-2 pages SciDAC report on 1st quarter (July 15 to Oct 15, 2001) from each: ** By next week - send to all the committee Jlab/MIT --- Chip/Robert BNL/Columbia --- Bob M. MILC --- Carleton, Doug FNAL --- Don Illinois --- Celso Chip: Report on all activities and say what fraction was supported by SciDAC and what fraction by other. #2. Organizing the min-reveiw part of the Nov 8&9 Workshop ** (You can put in your suggestion as a Postscript to the Report) Rich: Discussion of vertical slice. Obvious areas where things need to be threshed out List of instructions, naming conventions, Edwards, Pochinski, Brower: Document of what instruction set looks like. Want a green light to go forward with the design. Also Celso's work - brainstorm. Chip: End of workshop - put final stamp of approval on the MP-API version, so it is more static. Also, need a round-table discussion of implementations MILC, CPS. Discussion of error handling. Need a discussion of our 3-year plan: Rich: e.g. binary file formats, analysis tools, as discussed in the proposal. Chip: And run-time environment #3. Linear Algebra API level 1 and 2 documentation etc. (Rich/Robert/Andrew work on this.) DeTar: What if we used a list of pointers and not indices in the gather - scatter linear algebra primitives? Chip: Might have 8 byte addresses - so could cost more - tradeoff with CPU address computation in the case of indices DeTar: What if we also included a mask? Could be useful at Level 2 for distinguishing between on-node and off-node data. Edwards: Message passing - propose a distinction and 4 routines send to always uses FIFO a la MPI1 send relative also always FIFO put to (DMA) restricted number of buffers put relative (DMA) also restricted DeTar: Are the logical machine and send (put) relative parts of the MP-API really essential? To me it looks like they could be separated and provided as an add-on for users who want that abstraction. The MILC abstraction is different, but we aren't proposing putting it in the MP-API as well. It would be good to find out what the community wants. Edwards: Agree could do Level 2 without a virtual grid. (***) Edwards: Easy enough to include it, so why not do it? DeTar: Would be good to keep the MP API as lean as possible. Let's think about it before committing one way or the other. Next call: Thurs Oct 25 3 PM EDT (Chip excused - also Nov 1) Call concluded at 4:45 PM EDT. (***) Robert's correction --- "not exactly": That is not what I said - you have to have a virtual grid somewhere underneath level 2; otherwise, it makes no sense to communicate along +x in a multiply(src1,shift(src2,+x),target) . Under level 2 something has to know about subgrid sizes, etc. By the design of the API-s, it may not be possible to implement even Message Passing without the specific grid stuff at the level 1 MP layer - namely on a grid based machine like the QCDOC may require grid setup. However, the impact of the grid stuff on the MP layer is really quite small on even an MPI implementation, and the generic user will need the functionality anyway, so why not include it.