[Swift-devel] Re: Question and update on swift script
James Simone
simone at fnal.gov
Fri Jan 25 10:20:35 CST 2008
Hi Mike,
Could you please send us your target version of the 2-pt QCD workflow?
The target swiftscipt would not necessarily be able to run with current
swift, but it would include syntax changes that are/will be under development.
Thanks,
--jim
Michael Wilde wrote:
> Hi all,
>
> I made some good progress yesterday in understanding the swift code for
> the 2ptHL workflow, and started revising it.
>
> Im doing the following:
> - giving all files a mnemonic type name
> - creating compound types that encapsulate each data/info file pair
> - putting each set of nested foreach loops into a procedure (for better
> abstraction)
> - changing the mapper to tie it to each data type
>
> For now, Im also pulling the two cache-loading functions out of the
> workflow, as it seems like these should be part of the runtime
> environment, rather than in the workflow script. Do you feel the same?
>
> I *thought* that you had a set of wrappers that were python stubs for
> simulated execution, but the wrappers Don sent me looked like wrappers
> that call the *real* code. So for now I'll create my own simple stubs to
> test the data flow with.
>
> Ive got many more questions that Im collecting, but for now I only need
> the answer to this one:
>
> In the nested loops that call the function Onia() (lines 136-148 in the
> attached numbered listing), is the actual call at line 145 correct?
> This call is passing the same "HeavyQuarkConverted" as both the
> anti-quark and quark1. Im assuming that is the correct intent.
> Also, its passing only the wave[1] wave file (1S) each time (second of
> the three wave files d, 1S, 2S). (Same is true for BStaggered).
>
> Lastly, Onia seems to be getting called with successive pairs of
> converted heavy quark files, but it seems like the final call is going
> to get a null file for the second file, as the value of "bindex" will be
> one past the last converted heavy quark file computed.
>
> Im looking for ways to avoid the way the current script needs to compute
> the various array indices, but Im not likely to find something that
> doesnt require a language change. Was this approach of computing the
> indices something that your team liked, or did not like, about this
> swift script?
>
> I'll try to send more details and questions as I proceed.
> A few of these are below. If you have a moment to consider these, that
> will help me get a better understanding of the environment.
>
> Thanks,
>
> - Mike
>
> qcopy: I need to learn more about how you manage data and use dcache,
> but for now, I get the essence if this. Can you point me to a qcopy doc
> page though? I couldnt find one.
>
> tag_array_mapper: I can guess how this works, but can you send me the
> code for it? It seems like the order in which it fills the array must
> match the index computations in your swift script. Looks to me like the
> leftmost tag in the format script is varied fastest (ie, is the "least
> significant index"). Is this correct?
>
> kappa value passing bug: you allude to this in a comment. Was this a
> swift problem or a problem in the py wrapper? Resolved or still open?
> If Swift, I can test to see if I can reproduce it. But I suspect you
> were testing against a pretty old version of swift?
>
> Is the notion of an "info" file paired with most data files a standard
> metadata convention for LQCD? (Ie, Im assuming that this is done
> throughout your apps, not just in this swift example, right? If so, it
> seems to justify a mapping convention so that you can simply pass a
> "Quark" object, and have the data and info files passed automatically,
> together. You can then dereference the object top extract each field
> (file).
>
> Are the file naming conventions set by the tag mapper the ones already
> in use by the current workflow system? I.e., the order of the foreach
> loops and hence of the mappings was chosen carefully to match the
> existing file-naming conventions?
>
> How is the name of the ensemble chosen? Does it have a relation to the
> phyarams? Is it a database key? (It seems opaque to the current swift
> example. Is that by preference or was there a desire to expose its
> structure? Its its contents related to the phyparams? Or when looked up
> in a DB, does it yield the phyparams?
>
>
More information about the Swift-devel
mailing list