jewettaij / ndautocrr Goto Github PK
View Code? Open in Web Editor NEWa simple program to calculate autocorrelation functions used in the moltemplate examples
License: MIT License
a simple program to calculate autocorrelation functions used in the moltemplate examples
License: MIT License
Last night, I tried compiling a parallel (OpenMP) version of the program using the "setup_gcc_parallel.sh" compiler settings, using a recent version of the code. (I forget which version, but it was last night.) When I did this, I noticed a bug when using the "-L" argument. (The other arguments I tried were working.) Fortunately the bug was not subtle. It was hard to miss. This bug caused the correlation function to lack some entries and be truncated at the wrong location. Example:
./ndautocrr -L 50 < sample_data.txt
resulted in:
ndautocrr, v0.12.0 <2021-3-24>
# processing data set #1
#----- delta C(delta) -----
0 0.99961896143152
1 0.95984282518274
2 0.89531720755809
3 0.79452364560286
13 -0.30364017102635
#--------------------------------------
# correlation length = 3.65069
It did not happen if I omitted the "-L" argument, but I can't be sure that the bug was specific to the feature associated with that argument. Unfortunately, I haven't been able to reproduce the error since then. (It's a "Heisenbug".) I don't think I've changed anything that would have fixed the bug. I have fixed several OpenMP specific errors recently, so I suspect it has something to do with the fact that I compiled the code with parallel (OpenMP) support.
To do that, try using one of the other compiler options such which disable OpenMP, such as "setup_gcc.sh", "setup_clang.sh", or "setup_gcc_dbg.sh". (The program may be slightly slower, but it is more likely to work.)
Alternatively, you can try reverting to version v0.10.0 of the code and see if that helps. (I don't know if it will. That version has its own set of bugs.)
Meanwhile, please report the issue, and please mention which version of the code you are using (commit hash number), compiler options you used, the arguments you used to invoke the program. If possible, please attach the file (if it's not too big) that you applied the program to when you ran into the issue. Debugging OpenMP problems can be painful, so your help is appreciated.
-Andrew
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.