Coder Social home page Coder Social logo

claudiopica / hirep Goto Github PK

View Code? Open in Web Editor NEW
19.0 19.0 16.0 138.06 MB

HiRep repository

License: GNU General Public License v2.0

Makefile 0.26% C++ 2.62% C 65.55% Shell 0.32% Perl 2.02% Fortran 1.05% Python 0.40% Dockerfile 0.03% Mathematica 20.31% Jupyter Notebook 7.43%

hirep's People

Contributors

atoniato avatar blucini avatar claudiopica avatar ldd69 avatar mrlhansen avatar rabdomant avatar rudyarthur avatar supertrianguloid avatar tadjanow avatar vdrach avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

hirep's Issues

Wilson Flow fails for SU(2) with quaternions

When quaternions are enabled, the Wilson Flow rapidly blows up—within a step of 0.1 with the RK3 integrator, the observables are all nans. (Reducing the step size to 0.01 allows observation of the observables growing by orders of magnitude per step.) The same configuration analysed with quaternions disabled gives a sensible flow.

Explicitly specify `-std=c++17`

In the Include/Core/gpu_complex.h makes use of Class Template Argument Deduction, a C++17 feature.

Whether -std=c++17 is specified by default to nvcc is OS-dependent, so on some machines HiRep fails to build for GPU, giving the error argument list for class template "hr_complex_t" is missing.

Could the -std=c++17 flag please be automatically added to the GPUFLAGS to avoid this, please?

should a LICENSE file be added?

HiRep includes and directly links against Martin Lüscher's RANLUX, which is licensed under GPLv2. In principle this should mean that HiRep is also GPLv2 licensed, and is required to state as much in the distribution.

Should a COPYING or LICENSE file be added to the root of the repository (in all branches) containing a copy of the GPL v2?

-DMEASURE_FORCE is broken

When compiling hmc with MACRO += -DMEASURE_FORCE defined in MkFlags, the compiler gives the following error:

Compiling [%/LibHR/Update/force0.o]...force0.c:80:17: error: use of undeclared identifier 'beta'
  forcestat0 *= beta / ((4. * NG) * GLB_VOLUME);
                ^
force0.c:81:17: error: use of undeclared identifier 'beta'
  forcestat1 *= beta / ((double)(NG));
                ^
2 errors generated.
  FAIL

Measurement tools do not work due to changes to setup_process()

The centralised implementation of read_cmdline() (seemingly introduced in 7ffaeea) doesn't work with the spectroscopy and other measurement codes. Initially these fail to compile because setup_process() is now declared static. After adjusting this to be not static, the programs compile, but one is required to use -c or -l to specify a configuration or list file—however, this argument is then rejected by the central read_cmdline(), which only expects -i and -o. Similarly, converter fails because it expects the parameter passed to -i to be a configuration rather than a text input file.

I can see three ways of approaching a fix:

  1. Revert the changes that caused this to break, moving read_cmdline() back to hmc
  2. Add a flag to setup_process() that controls whether read_cmdline() is called there or if it is skipped and left to the individual application to handle this.
  3. Modify setup_process() and read_cmdline to take a struct of settings for the command line, and incorporate all of the setup currently done in the individual applications into process_init.c.

Which of these (if any) would be preferable? Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.