Skip to content
@reliq-lft

ReliQ Lattice Field Theory Ecosystem

Experimental lattice field theory ecosystem

ReliQ lattice field theory ecosystem

"Great things are done by a series of small things brought together." - Vincent Van Gogh

ReliQ is an experimental lattice field theory ecosystem targeting user-friendliness, performance, reliability, and portability across current and future heterogeneous architectures. We want the process of writing practical and performant lattice field theory programs in ReliQ to be both enjoyable, productive, and rewarding. As such, the ReliQ ecosystem shall revolve around the ReliQ framework, which will provide the baseline parallel primitives, both for more focused components of the ReliQ ecosystem and any applications/code-bases that may reside outside of it.

Please note that ReliQ is in the early development stage; it is not ready for production. However, if you like what you're seeing, we could use help; please contact us at reliq-lft@protonmail.me. Otherwise, you can follow us by clicking the Follow button in the top right corner of this page.

Influences

To say that we stand on the shoulders of giants is an understatement. As such, we'd like to acknowledge the incredible code bases upon which we are drawing wisdom from.

The decisions going into designing the ReliQ framework framework are heavily influenced by the Quantum EXpressions (QEX) and Grid lattice field theory frameworks. Namely, we would like to see ReliQ reflect the unyielding beauty and simplicity of QEX and the scalability, reliability, and portability of the powerhouse that is Grid. Moreover, our approach to data layouts will be nearly identical to both QEX and Grid on CPU builds, though we are working toward a design that will ultimately be closer to Grid for GPU and heterogeneous targets; see arXiv:2203.06777 for details.

Furthermore, ReliQ itself is written in the beautiful/powerful Nim programming language and currently utilizes the GlobalArrays (GA) and Kokkos libraries for distributed- and shared-memory parallelism, respectively. Our inspiration for using the partitioned global address space provided by GlobalArrays for our distributed memory model draws from the Chapel progamming language. Our use of the Kokkos shared memory model hinges upon the Kokkos development team's insistence on user-friendliness and ensuring that the programming model that Kokkos is based upon is resilient against changes in the hardware landscape; i.e., single-source frontends are the way of the future!

Our ideas for approaching the layout of the ReliQ ecosystem are inspired by the JuliaQCD and USQCD software stacks, both of which build upon foundational layers that are ever-more focused as one approaches higher levels of the stack. The benefit of such an ecosystem design is that folks can tweak/modify any one layer of the stack without being burdened by the weight of the entire stack, which often prevents folks from being able to modify/extend said software to fit their needs.

Finally, our evolving approach to documentation draws upon Peter Lepage's suite of lattice field theory analysis libraries; namely, gvar and lsqfit, both of which demonstrate that good documentation must strive to teach the user how to use the tools that it provides while also teaching the user a little bit about the topic at hand (whether or not they realized it).

We encourage everybody to explore these code bases, as we think that there is a lot to be learned from their insistence on providing a quality product that is open and available to everyone.

Pinned Loading

  1. ReliQ ReliQ Public

    Experimental lattice field theory framework prioritizing user-friendliness, performance, reliability, and portability

    Nim 4 1

Repositories

Showing 5 of 5 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…