Participants: Chair: Andrew McCluskey Scribe: Brian Maranville
shared work on a kernel
Mrinal and Arwel and Andrew described a desire for a shared calculation kernel, than can be optimized for efficiency, with an API available in various languages and validation available.
Emphasize speed, assume correctness
Arwel pointed out that speed = parallelization, which means openmp in many contexts, which becomes architecture and platform dependent quite fast.
Mrinal: start with something more accessible Brian: like ANSI C? Mrinal: yes.
Action item: create a github repo for working on shared kernel with verified outputs, along with wrappers (api) in at least
Optimizers Also useful to have api access to optimizers of different types, to work with the kernel Action item: make one of these repos too
Resolution Also useful to have libraries available for resolution smearing. Arwel and Mrinal: just fourier-transform and multiply with gaussian, and fourier-transform back. Action item: another repo with algorithms for doing this (fast)
Shared problem definition language: Arwel: there’s no way to make a one-size-fits-all interface for users. Need to support: soft matter, polarized, magnetic layers, X-rays, etc. A library of approaches would be more helpful.
Strong resistance to single shared vocabulary.
Example: Arwel would parametrize a problem according to thickness, SLD, hydration of layers.
Share all parameters between models except SLD, one SLD for different deuteration-hydrogenation mixtures.
Andrew would use similar language to describe his problem.
Becky: using different modeling programs is made much more difficult by inconsistencies in the handling of e.g. roughness specification (does roughness n correspond to between layer n and n+1, or n-1 and n)
General agreement that there should be different user interfaces for specifying problems from different scientific areas.
Arwel pointed out that imposing a shared vocabulary for defining problems automatically creates restrictions on each program (how would we extend the vocabulary, for instance?)
Action item: standardise at least the way we talk about the roughness of layer N?