This is an archive of the discontinued LLVM Phabricator instance.

[test-suite] Adding miniAMR Benchmark
ClosedPublic

Authored by homerdin on Aug 14 2017, 8:12 AM.

Details

Summary
Description:

miniAMR applies a stencil calculation on a unit cube computational domain,
which is divided into blocks. The blocks all have the same number of cells
in each direction and communicate ghost values with neighboring blocks. With
adaptive mesh refinement, the blocks can represent different levels of
refinement in the larger mesh. Neighboring blocks can be at the same level
or one level different, which means that the length of cells in neighboring
blocks can differ by only a factor of two in each direction. The calculations
on the variables in each cell is an averaging of the values in the chosen
stencil. The refinement and coarsening of the blocks is driven by objects
that are pushed through the mesh. If a block intersects with the surface
or the volume of an object, then that block can be refined. There is also
an option to uniformly refine the mesh. Each cell contains a number of
variables, each of which is evaluated indecently.

Links:

Web: https://mantevo.org/packages/
Github: https://github.com/Mantevo/miniAMR

When run on Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz:
compile_time: 33.7526 
exec_time: 0.4879 
Maximum resident set size (kbytes): 836784

Diff Detail

Repository
rL LLVM

Event Timeline

homerdin created this revision.Aug 14 2017, 8:12 AM
hfinkel added inline comments.Aug 15 2017, 11:07 AM
MultiSource/Benchmarks/DOE-ProxyApps-C/miniAMR/init.c
90 ↗(On Diff #110965)

This also depends on rand. See my comments on this in D36621 and D36626.

homerdin updated this revision to Diff 111234.Aug 15 2017, 1:01 PM

Substituted in the glib_compat_rand implementation to remove dependency on libc's rand.

Thanks of the feedback!
Brian

MatzeB requested changes to this revision.Aug 15 2017, 2:47 PM
  • Integration looks ok
  • The LICENSE file doesn't need an executable file mode
  • I would like to hear some comments on the license statements in the files.
MultiSource/Benchmarks/DOE-ProxyApps-C/miniAMR/block.h
5–7 ↗(On Diff #111234)

See my comments in D36683

This revision now requires changes to proceed.Aug 15 2017, 2:47 PM
hfinkel edited edge metadata.Aug 15 2017, 3:56 PM

Substituted in the glib_compat_rand implementation to remove dependency on libc's rand.

Regarding the rand implementation, please see my comment in D36621.

Thanks of the feedback!
Brian

homerdin updated this revision to Diff 111393.Aug 16 2017, 12:00 PM
homerdin edited edge metadata.

I included the original README with an extra note at the top. I also updated the glibc_compat_rand implementation and changed the LICENSE permissions.

TL;DR This statement is slightyl different, but also has no effect.
It is also a statement that is more or less required by statute/regulation.

Essentially, government contracting rules often require the government to mark what they think they have the rights/license For our purposes, it's irrelevant, the real license is the LGPL.
(IE whether the government or sandia has certain extra rights is irrelevant, the relevant rightsholders are releasing it under the LGPL)

I assigned copyright to the FSF for most of my work on GCC. In return, the FSF grants me a non-exclusive license to do whatever i want with that work.

So if i really wanted, i could write "Under the terms of my contract with the FSF, Daniel Berlin retains certain non-exclusive rights in this software" on the top of a bunch of gcc files i contribued, and it would be true.
It would be irrelevant to *anyone else*, because the license of the file (as agreed upon) is going to be GPL.

Writing that is just a statement of facts, it doesn't change the license for anyone else.

(It just so happens that these rights mean *I* do not have to respect that license, in the same way others would. But in practice, nobody else knows or cares)

MatzeB accepted this revision.Aug 18 2017, 10:44 AM

Thanks for the clarification on the license. LGTM.

This revision is now accepted and ready to land.Aug 18 2017, 10:44 AM
This revision was automatically updated to reflect the committed changes.