daschaich / susy Goto Github PK
View Code? Open in Web Editor NEWCodes for supersymmetric lattice gauge theories
License: GNU General Public License v3.0
Codes for supersymmetric lattice gauge theories
License: GNU General Public License v3.0
SUSY LATTICE is parallel code for RHMC simulations of extended-supersymmetric Yang--Mills theories in various dimensions, including related measurements. This package evolved from the MILC code, and supersedes the serial C++ code presented in arXiv:1108.1503. Extension to additional theories is currently underway in development branches. See subdirectories for more detailed READMEs: 1d_Q16 -- One-dimensional 16-supercharge Yang--Mills (BFSS/BMN) theories 2d_Q04 -- Two-dimensional N=(2,2) supersymmetric Yang--Mills theory 4d_Q16 -- Four-dimensional N=4 supersymmetric Yang--Mills theory Please contact David Schaich with any questions, requests for new features, or (especially) bug reports: http://www.davidschaich.net Contributors: David Schaich, Thomas DeGrand, Raghav Jha, Anosh Joseph, Georg Bergner, Simon Catterall, Joel Giedt Reference: A summary of useful information appears in the following paper, which we ask that you cite if you find SUSY LATTICE useful in your work: David Schaich and Thomas DeGrand, "Parallel software for lattice N=4 supersymmetric Yang--Mills theory", Comput. Phys. Commun. 190:200--212 (2015) [doi:10.1016/j.cpc.2014.12.025, arXiv:1410.6971]. Support: Development was supported in part by Syracuse University, the University of Colorado Boulder, the University of Bern, Friedrich Schiller University Jena, the International Centre for Theoretical Sciences Bangalore, the Indian Institute of Science Education and Research Mohali, Rensselaer Polytechnic Institute and the University of Liverpool, as well as by the U.S. Department of Energy under grants DE-FG02-04ER41290, DE-SC0010005, DE-SC0008669 and DE-SC0009998, and UK Research and Innovation Future Leader Fellowship MR/S015418/1.
Currently the eigensolver works with PRIMME v1.2.2. Changes to the PRIMME interface since then are currently incompatible with eig.c/complex.h.
Need to figure out some way to test truncated code for correctness before merging the truncated_dev branch into master...
Hi there,
When I run the program, it encounters an "Division by Zero" error. The error-inducing inputs are:
nx: 3
ny: 1
nz: 1
nt: 3
PBC: 5
iseed: 1
Nroot: 3
Norder: 1
The error locates in function setup_layout() inside susy/4d_Q16/generic/layout_hyper_prime.c. I fixes the error by checking if the divisor is 0, which is achieved via inserting the following code segment before the division operation, i.e., before line 115.
if (squaresize[XUP] == 0 ||
squaresize[XUP] == 0 ||
squaresize[ZUP] == 0 ||
squaresize[TUP] == 0 )
{
Abort();
}
Thank you!
This should be a straightforward (if minor) performance improvement for I/O: In */generic/io_lat.c, there are currently lots of NUMLINK * sizeof(fmatrix)
multiplications inside loops over the lattice volume, which can be brought out front and stored in a constant data_size
variable, as in the 2d_SQCD_dev branch.
To help users keep track of how much memory is really being used, the usage due to the following FIELD_ALLOCS should be reported along the lines of the main fields and the pfaffian matrix at setup.c#L220:
The eigenvectors at setup.c#L470
The stochastic sources for the mode number computation at setup.c#L499
The SU(2) matrix for gauge-fixing hits, which was just moved to setup.c#L457 on the gather_dev branch
May take some work, but should give worthwhile performance boost --- good first step would be to check benefits in MILC's staggered multi-CG using QUDA...
The current method of reading in runtime parameters from the command line seemed to lead to some trouble interfacing with performance monitoring tools. It may be more modern to read in from a file (a la QHMC), at least as an option.
Is there a way to rearrange the stochastic mode number computation so that it does the inversions for all Omega simultaneously? Currently we have separate calls to the multi-shift solver for each Omega, each with the same source(s).
Once the truncated links are deprecated we can implement a bit more code reuse.
A bit more will also be allowed by implementing 2d_Q04 dimensional reduction center stabilization, as well as the spectral density and eigenmode number computations, for example in params.h.
This is mainly cosmetic, but becoming more worthwhile as the number of Twist_Fermion routines grows.
Hi there!
In my recent use of this program, I found three segmentation fault bugs due to the inappropriate use of memory allocation routine malloc(). Below I list a verified fix for each:
Line 131 in susy/4d_Q16/susy/update_o.c
Twist_Fermion **src = malloc(Nroot * sizeof(**src));
should be changed to
Twist_Fermion **src = malloc(Nroot * sizeof(Twist_Fermion *));
Line 13 in susy/4d_Q16/susy/update_o.c
Twist_Fermion ***psim = malloc(Nroot * sizeof(***psim));
should be changed to
Twist_Fermion ***psim = malloc(Nroot * sizeof(Twist_Fermion **));
Line 44 in susy/4d_Q16/susy/congrad_multi.c
Twist_Fermion **pm = malloc(Norder * sizeof(**pm));
should be changed to
Twist_Fermion **pm = malloc(Norder * sizeof(Twist_Fermion *));
Thank you!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.