-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extreme efficiency enhancements #151
base: master
Are you sure you want to change the base?
Extreme efficiency enhancements #151
Commits on Jul 21, 2022
-
Configuration menu - View commit details
-
Copy full SHA for f3e08e2 - Browse repository at this point
Copy the full SHA f3e08e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 896f6f5 - Browse repository at this point
Copy the full SHA 896f6f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 904fab1 - Browse repository at this point
Copy the full SHA 904fab1View commit details
Commits on Aug 10, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 31a559f - Browse repository at this point
Copy the full SHA 31a559fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a15546 - Browse repository at this point
Copy the full SHA 4a15546View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c0b799 - Browse repository at this point
Copy the full SHA 2c0b799View commit details
Commits on Aug 16, 2022
-
Configuration menu - View commit details
-
Copy full SHA for e943784 - Browse repository at this point
Copy the full SHA e943784View commit details
Commits on Aug 17, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 2c8ec51 - Browse repository at this point
Copy the full SHA 2c8ec51View commit details -
Configuration menu - View commit details
-
Copy full SHA for f4fb8a9 - Browse repository at this point
Copy the full SHA f4fb8a9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 44da93a - Browse repository at this point
Copy the full SHA 44da93aView commit details
Commits on Aug 19, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 415042c - Browse repository at this point
Copy the full SHA 415042cView commit details
Commits on Aug 22, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 3a38beb - Browse repository at this point
Copy the full SHA 3a38bebView commit details
Commits on Sep 15, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 62b7e98 - Browse repository at this point
Copy the full SHA 62b7e98View commit details -
Configuration menu - View commit details
-
Copy full SHA for 575b111 - Browse repository at this point
Copy the full SHA 575b111View commit details
Commits on Sep 19, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 0955297 - Browse repository at this point
Copy the full SHA 0955297View commit details
Commits on Sep 21, 2022
-
Previously, the CBMC Fragment_Placement subroutine would sometimes choose a dihedral trial with trial overlap despite its weight being zero. This was fixed by changing the "<=" operator to "<" and flagging cbmc_overlap if none of the trials are picked.
Configuration menu - View commit details
-
Copy full SHA for 16445ae - Browse repository at this point
Copy the full SHA 16445aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for a2a2dfc - Browse repository at this point
Copy the full SHA a2a2dfcView commit details
Commits on Oct 18, 2022
-
Configuration menu - View commit details
-
Copy full SHA for efd9d41 - Browse repository at this point
Copy the full SHA efd9d41View commit details
Commits on Oct 21, 2022
-
Update test examples that were failing because they were originally g…
…enerated with the bug.
Configuration menu - View commit details
-
Copy full SHA for d03ee55 - Browse repository at this point
Copy the full SHA d03ee55View commit details -
Configuration menu - View commit details
-
Copy full SHA for e0ad108 - Browse repository at this point
Copy the full SHA e0ad108View commit details
Commits on Dec 13, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 15f50d4 - Browse repository at this point
Copy the full SHA 15f50d4View commit details
Commits on Jan 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 5713224 - Browse repository at this point
Copy the full SHA 5713224View commit details
Commits on Jan 17, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 6eabb4f - Browse repository at this point
Copy the full SHA 6eabb4fView commit details
Commits on Jan 19, 2023
-
Configuration menu - View commit details
-
Copy full SHA for a96cd3e - Browse repository at this point
Copy the full SHA a96cd3eView commit details
Commits on Feb 2, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 650a294 - Browse repository at this point
Copy the full SHA 650a294View commit details
Commits on Feb 7, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 26eca17 - Browse repository at this point
Copy the full SHA 26eca17View commit details
Commits on Feb 9, 2023
-
Enable custom tolerance list for atompair rminsq table creation.
This results in creation of rminsq file for each tolerance. Also output information regarding maximum individual widom_var for insertions that would have been excluded if the rminsq table had been used.
Configuration menu - View commit details
-
Copy full SHA for a58cf8d - Browse repository at this point
Copy the full SHA a58cf8dView commit details -
Merge branch 'read_xtc' into atompair_rmin_xtc
Combine xtc reading capability with atompair rminsq table feature.
Configuration menu - View commit details
-
Copy full SHA for 8c277a2 - Browse repository at this point
Copy the full SHA 8c277a2View commit details
Commits on Feb 15, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 2a55824 - Browse repository at this point
Copy the full SHA 2a55824View commit details
Commits on Feb 20, 2023
-
Add ability to choose whether some large private arrays are kept on t…
…he stack or the heap.
Configuration menu - View commit details
-
Copy full SHA for e17516b - Browse repository at this point
Copy the full SHA e17516bView commit details
Commits on Feb 21, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 821da98 - Browse repository at this point
Copy the full SHA 821da98View commit details
Commits on Feb 23, 2023
-
Configuration menu - View commit details
-
Copy full SHA for e9f7f62 - Browse repository at this point
Copy the full SHA e9f7f62View commit details -
Add documentation for estimating and using atom pair and atom type pa…
…ir overlap radii.
Configuration menu - View commit details
-
Copy full SHA for 3fbeffe - Browse repository at this point
Copy the full SHA 3fbeffeView commit details
Commits on Feb 27, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 228be17 - Browse repository at this point
Copy the full SHA 228be17View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1bbc456 - Browse repository at this point
Copy the full SHA 1bbc456View commit details -
Configuration menu - View commit details
-
Copy full SHA for 17ccecb - Browse repository at this point
Copy the full SHA 17ccecbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9c63e2a - Browse repository at this point
Copy the full SHA 9c63e2aView commit details
Commits on Mar 7, 2023
-
Configuration menu - View commit details
-
Copy full SHA for a483438 - Browse repository at this point
Copy the full SHA a483438View commit details
Commits on Mar 24, 2023
-
Configuration menu - View commit details
-
Copy full SHA for be091d6 - Browse repository at this point
Copy the full SHA be091d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 51c6188 - Browse repository at this point
Copy the full SHA 51c6188View commit details
Commits on Mar 30, 2023
-
Implement first working version of vectorized Widom intermolecular en…
…ergy calculations.
Configuration menu - View commit details
-
Copy full SHA for c0435b7 - Browse repository at this point
Copy the full SHA c0435b7View commit details -
Include previously missing division by zero for charge_cut energy cal…
…culation and switch to intrinsic ERFC. These changes were made for the precomputed energy table creation.
Configuration menu - View commit details
-
Copy full SHA for 20b077b - Browse repository at this point
Copy the full SHA 20b077bView commit details -
Configuration menu - View commit details
-
Copy full SHA for eec2510 - Browse repository at this point
Copy the full SHA eec2510View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6785e18 - Browse repository at this point
Copy the full SHA 6785e18View commit details -
Configuration menu - View commit details
-
Copy full SHA for 48ec01a - Browse repository at this point
Copy the full SHA 48ec01aView commit details -
Configuration menu - View commit details
-
Copy full SHA for e8db1df - Browse repository at this point
Copy the full SHA e8db1dfView commit details
Commits on Mar 31, 2023
-
Configuration menu - View commit details
-
Copy full SHA for e279a3e - Browse repository at this point
Copy the full SHA e279a3eView commit details
Commits on Apr 7, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 9007cab - Browse repository at this point
Copy the full SHA 9007cabView commit details
Commits on Apr 11, 2023
-
Configuration menu - View commit details
-
Copy full SHA for e5b5b82 - Browse repository at this point
Copy the full SHA e5b5b82View commit details
Commits on Apr 13, 2023
-
Configuration menu - View commit details
-
Copy full SHA for e2a3c6d - Browse repository at this point
Copy the full SHA e2a3c6dView commit details
Commits on Apr 14, 2023
-
Configuration menu - View commit details
-
Copy full SHA for e31bd0a - Browse repository at this point
Copy the full SHA e31bd0aView commit details
Commits on Apr 19, 2023
-
Implement first working version of vectorized and gathered cell list …
…overlap detection.
Configuration menu - View commit details
-
Copy full SHA for abdd9eb - Browse repository at this point
Copy the full SHA abdd9ebView commit details
Commits on Apr 20, 2023
-
Configuration menu - View commit details
-
Copy full SHA for bcf271a - Browse repository at this point
Copy the full SHA bcf271aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5913915 - Browse repository at this point
Copy the full SHA 5913915View commit details
Commits on May 3, 2023
-
Configuration menu - View commit details
-
Copy full SHA for da038f1 - Browse repository at this point
Copy the full SHA da038f1View commit details
Commits on May 5, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 68a5a97 - Browse repository at this point
Copy the full SHA 68a5a97View commit details -
Configuration menu - View commit details
-
Copy full SHA for e1f576f - Browse repository at this point
Copy the full SHA e1f576fView commit details
Commits on May 25, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 4ef7722 - Browse repository at this point
Copy the full SHA 4ef7722View commit details
Commits on Jun 6, 2023
-
Configuration menu - View commit details
-
Copy full SHA for afab71b - Browse repository at this point
Copy the full SHA afab71bView commit details -
Merge branch 'gathered_cell_list' into nonwidom_vectorization.
This makes nonwidom_vectorization the most up-to-date branch even for Widom insertion vectorization.
Configuration menu - View commit details
-
Copy full SHA for 7359aaf - Browse repository at this point
Copy the full SHA 7359aafView commit details
Commits on Jul 4, 2023
-
Configuration menu - View commit details
-
Copy full SHA for dd98c82 - Browse repository at this point
Copy the full SHA dd98c82View commit details
Commits on Jul 31, 2023
-
Fix bug preventing correct Emax usage and estimation for systems with…
…out partial charges.
Configuration menu - View commit details
-
Copy full SHA for 15851f3 - Browse repository at this point
Copy the full SHA 15851f3View commit details -
Configuration menu - View commit details
-
Copy full SHA for e3d881b - Browse repository at this point
Copy the full SHA e3d881bView commit details
Commits on Aug 1, 2023
-
Update tests to involve adaptive rmin and atom pair-specific overlap …
…radius estimation.
Configuration menu - View commit details
-
Copy full SHA for 6df5a61 - Browse repository at this point
Copy the full SHA 6df5a61View commit details
Commits on Aug 4, 2023
-
Fix bug preventing xyz and H files specified with new syntax from ope…
…ning. Also improve log file output.
Configuration menu - View commit details
-
Copy full SHA for 571c5f0 - Browse repository at this point
Copy the full SHA 571c5f0View commit details -
Make lammpstrjconvert.py not center the box by default. Add/update ex…
…ample and tests. Add new Widom insertion & trajectory reader tests incorporating atom pair-specific overlap radii and xtc trajectory reading.
Configuration menu - View commit details
-
Copy full SHA for fb9e1f8 - Browse repository at this point
Copy the full SHA fb9e1f8View commit details
Commits on Aug 9, 2023
-
Update Makefiles to not require pkg-config.
Also update Makefiles to have xtc support enabled unless the Makefile name includes noXTC or conda. Compilation with pgfortran still doesn't work but that has nothing to do with these changes, and the pgfortran Makefiles were still updated in case Cassandra is ever made compilable with pgfortran again. Makefile.conda was not updated at all so it doesn't enable XTC support.
Configuration menu - View commit details
-
Copy full SHA for d937b06 - Browse repository at this point
Copy the full SHA d937b06View commit details -
Update Widom examples to match the corresponding tests in the test su…
…ite. Also move the `energy table 1000` line of the input file to the correct place for the diethylether test and example.
Configuration menu - View commit details
-
Copy full SHA for 324d38f - Browse repository at this point
Copy the full SHA 324d38fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c05037 - Browse repository at this point
Copy the full SHA 1c05037View commit details -
Include example input for adaptive and specific overlap radii and ene…
…rgy_table usage in documentation.
Configuration menu - View commit details
-
Copy full SHA for 75790c3 - Browse repository at this point
Copy the full SHA 75790c3View commit details -
Configuration menu - View commit details
-
Copy full SHA for fb7dcd1 - Browse repository at this point
Copy the full SHA fb7dcd1View commit details
Commits on Aug 11, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 0a1233f - Browse repository at this point
Copy the full SHA 0a1233fView commit details -
Configuration menu - View commit details
-
Copy full SHA for fc96649 - Browse repository at this point
Copy the full SHA fc96649View commit details
Commits on Aug 14, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 652ca79 - Browse repository at this point
Copy the full SHA 652ca79View commit details -
Configuration menu - View commit details
-
Copy full SHA for adbaaee - Browse repository at this point
Copy the full SHA adbaaeeView commit details -
Configuration menu - View commit details
-
Copy full SHA for f7b8d93 - Browse repository at this point
Copy the full SHA f7b8d93View commit details -
Configuration menu - View commit details
-
Copy full SHA for 98de8a4 - Browse repository at this point
Copy the full SHA 98de8a4View commit details
Commits on Aug 15, 2023
-
Merge branch 'atompair_rmin_xtc' into nonwidom_vectorization
This updates the Makefiles and improves the linking of the xtc reader libraries. It also adds more tests.
Configuration menu - View commit details
-
Copy full SHA for 98c6e1e - Browse repository at this point
Copy the full SHA 98c6e1eView commit details
Commits on Sep 12, 2023
-
Add apparently working bitcell overlap detection and CBMC cell neighb…
…or list. Members of gathered overlap cells and cell neighbor lists are now filtered by proximity. CBMC cell list option would now be more appropriately called a cell neighbor list method, since the possible neighbors for a cell are now gathered and filtered by proximity. CBMC cells are now the same size as overlap cells; the gathering algorithm just searches more cells to capture all possible neighbors. Trial insertion of first fragment in CBMC are now greatly vectorized. CBMC dihedral trials are not yet, but applying vectorization and bitcell overlap detection to dihedral trials should be fairly straightforward. Dimension padding currently assumes vector size no greater than 256 bits (the size of AVX2 vector registers), and if we want Cassandra to support AVX-512, changes need to be made to accommodate that since it would violate the alignment assumptions made in some ifort compiler directives. While intermolecular CBMC energy estimation is vectorized when used with CBMC cell neighbor lists, it can apparently sometimes still be slightly slower than directly computing the energy, most likely due to slower memory access for the very large, precomputed energy table. I still left it as an option though because for more expensive force fields, it may be faster. Some cheap WRITE statements used for debugging are still present in the code and should probably be removed to avoid excessive verbosity, especially to STDOUT. Repeating an old simulation (from before this commit) using the same seeds and simulation options will not give identical results even with a single thread due to the way CBMC insertion trial positions are calculated from the random numbers differing from how it used to be done; for example, using rranf() - 0.5 instead of 0.5 - rranf() as fractional COM coordinate. Restricted insertion trial coordinates are now generated within the inner volume the first time, rather than being generated anywhere in the box and re-generating them within the inner volume them if they're outside the inner volume, as was done previously, and this process is now vectorized. Widom insertions will no longer be restricted ever, even if the inserted species is designated with restricted GCMC insertions. It's likely this was never a problem for anyone, but this fix should make sure it won't be a problem in the future. If restricted Widom insertions are ever allowed in the future, additional changes will need to be made for it to be done properly.
Configuration menu - View commit details
-
Copy full SHA for c11e389 - Browse repository at this point
Copy the full SHA c11e389View commit details
Commits on Sep 21, 2023
-
Add support for RB torsion dihedrals and convert other dihedral types…
… to RB form where possible. All OPLS dihedrals are internally converted to RB torsions now because RB torsions are much faster to compute. CHARMM style dihedrals are converted to RB torsions when it is possible to do so (I don't think I've seen one that isn't possible to convert to RB but they might exist), and they are left as CHARMM style if it isn't possible to convert to RB format. All dihedrals formatted as RB torsions (whether explicitly input or internally converted) that are stacked on the same or reverse 4-atom sequence as each other are collapsed into a single RB torsion by adding together the coefficients of the stacked RB torsions. RB torsions are implemented in the protein convention (based on phi) in Cassandra, like the other dihedral types are. This differs from how they are implemented in GROMACS, which uses the polymer convention (based on psi, which is phi - pi). To convert from one convention to the other (either direction), simply flip the sign of the coefficients of the even-powered terms of the series. I also commented out the code that reads parameters for AMBER-style dihedrals because Cassandra has no code to compute the energies of AMBER-style dihedrals and they aren't converted to another style either. Dihedral styles are now allowed to be specified in all-caps or all lowercase in the mcf files, to make things more user-friendly. I also renamed get_internal_coords.f90 to internal_coordinate_routines.f90 and made Internal_Coordinate_Routines a module, since the file previously just contained a collection of subroutines, one of which is named Get_Internal_Coords, not encompassed by a module.
Configuration menu - View commit details
-
Copy full SHA for 058e6b9 - Browse repository at this point
Copy the full SHA 058e6b9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c7d121 - Browse repository at this point
Copy the full SHA 0c7d121View commit details -
Configuration menu - View commit details
-
Copy full SHA for 355cf26 - Browse repository at this point
Copy the full SHA 355cf26View commit details -
Configuration menu - View commit details
-
Copy full SHA for 098477d - Browse repository at this point
Copy the full SHA 098477dView commit details
Commits on Oct 13, 2023
-
Refactor fragment_placement, enabling bitcell overlap detection and m…
…ore vectorization. Also designate several procedures as ELEMENTAL for ease of use and optimization. Add optional argument l_skip_dihed_vec to Compute_Molecule_Dihedral_Energy that specifies which dihedrals to skip computing energy for. Allow different species to use different CBMC kappa values. Add way to specify minimum ideal_bitcell_length, which overrides the ideal_bitcell_length computed by the default method if it is greater than the computed ideal_bitcell_length, but not if it is smaller, since the computed value is the minimum value required for the algorithm to work properly. The user-defined minimum is an option because it can be beneficial to lower the resolution of the bitcell grid so it occupies less memory and allows faster memory access and probably has a lower cache miss rate. This will result in the bitcell overlap method catching fewer overlaps (which will be caught by the cell list overlap detection instead if they are overlaps), but allowing the bitcells to be checked faster can be worth it (tested with min_ideal_bitcell_length = 0.2). New function Excess_Molecule_Intrafragment_Energy was added, and optional excess_flag_o and/or minimg_flag_o arguments were added to a few subroutines to cause them to instead compute the "excess" energy (energy minus what it would be if computed with the minimum image sum style as during fragment library generation) and minimum image energy (essentially forces the subroutine to act as if the sum style is minimum image, even if it isn't) so you only get the intramolecular parts you need for Widom insertions. Interfragment intramolecular energy is now optionally output by Build_Molecule as E_interfrag, though the logic in Fragment_Placement causes it to only do so during Widom insertions. That should probably be changed if/when the new intramolecular energy accounting done in Widom insertions is applied to other CBMC moves. Widom insertions now include no intramolecular energy except for what is computed by Excess_Molecule_Intrafragment_Energy and the interfragment intramolecular energy, since any remaining parts would have been used to generate the fragment libraries and would have to be subtracted back out if included, which is inefficient. This method should be more robust than what was previously done, and should probably be applied to other CBMC moves as well. Use of undamped shifted force method for coulombic interactions in CBMC trial energies is only partially implemented.
Configuration menu - View commit details
-
Copy full SHA for 89a3ea2 - Browse repository at this point
Copy the full SHA 89a3ea2View commit details
Commits on Nov 15, 2023
-
Merge branch 'cbmc_sf' into bit_cell_overlap and make various improve…
…ments. Improve vectorization of reciprocal ewald energy calculation for Widom insertions. Add vectorized random number generation subroutines, which are used in Build_Molecule. Fix bug causing problems when writing fragment mcf file with RB torsions. Change file unit numbers to not be problematic for Widom insertion simulations with more than 10 species. Stop wasting time setting and applying bitcell overlap mask where mask bits are known to be permanently zero. Allow user to specify the use of shifted force electrostatics for cbmc trial energy calculation.
Configuration menu - View commit details
-
Copy full SHA for b139e9f - Browse repository at this point
Copy the full SHA b139e9fView commit details
Commits on Dec 18, 2023
-
Correct the triclinic functionality of cell list related enhancements…
… and optimize overlap voxel grid setup. Add a minor optimimization to vectorized random number generation. Correct stack memory inflation due to certain array bounds increasing by 8 every Widom insertion frame. Add some code to help visualize bitcell overlap detection masks and grids outside Cassandra; this will need to be removed eventually.
Configuration menu - View commit details
-
Copy full SHA for 2011ae9 - Browse repository at this point
Copy the full SHA 2011ae9View commit details
Commits on Mar 11, 2024
-
Implement cavity biasing and several optimizations.
Cavity biasing is implemented. This is the version of Cassandra used for the simulations in Ryan Smith's dissertation chapter 4 and the test particle insertion enhancement paper unless they are later rerun with a faster version. BOVINE overlap checking code is made more concise with forced inlining. Atom ID pair overlap radius optimization histogram creation portion of widom_insert is made robust to some atomic overlap not being detected due to floating point rounding, which hasn't been a problem but possibly could have been if the algorithm were not made robust. It is also now parallelized with OMP WORKSHARE without leaving and re-entering the parallel region.
Configuration menu - View commit details
-
Copy full SHA for 7ce03f5 - Browse repository at this point
Copy the full SHA 7ce03f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8bee4d9 - Browse repository at this point
Copy the full SHA 8bee4d9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2727efe - Browse repository at this point
Copy the full SHA 2727efeView commit details
Commits on Mar 15, 2024
-
Configuration menu - View commit details
-
Copy full SHA for db25d46 - Browse repository at this point
Copy the full SHA db25d46View commit details
Commits on Mar 21, 2024
-
Repair molecules when reading wrapped trajectories and optimize cell …
…matrix basis. Previously, Cassandra's trajectory reader would not work when the trajectory coordinates were PBC-wrapped by atoms rather than by molecule center of mass or not at all (unwrapped) if the trajectory molecules are polyatomic since Cassandra wraps molecules by center of mass, which requires molecules to be intact. This commit allows the trajectroy reader to repair partially-wrapped molecules. It also optimizes parts of the trajectory reader, including more vectorization. The LAMMPS trajectory conversion script now accepts wrapped coordinates, not just unwrapped coordinates. The subroutine Load_Next_Frame and other (non-XTC) trajectory reader procedures are now included in a module, Trajectory_Reader_Routines, rather than having Load_Next_Frame be a non-module subroutine containing the other (non-XTC) trajectory reader procedures. Box cell matrices are now automatically converted to the upper triangular form used by LAMMPS, since it allows better optimization. Coordinates loaded from a trajectory file, checkpoint file, or configuration file are automatically converted to the new basis if the basis is changed.
Configuration menu - View commit details
-
Copy full SHA for 69389c1 - Browse repository at this point
Copy the full SHA 69389c1View commit details -
Compare read cell matrix this_length against orig_length instead of l…
…ength do detect box size/shape change.
Configuration menu - View commit details
-
Copy full SHA for b7ba1ff - Browse repository at this point
Copy the full SHA b7ba1ffView commit details
Commits on Apr 18, 2024
-
Optimize Ewald summation code.
Improve vectorization and multithreading and improve mathematical formulation of Ewald summation. Also overhaul data structures for Ewald data and molecule pair energy and replace large array copying with memory allocation transfers or remove them entirely (if they're unnecessary). The arbitrary limit on the number of kspace vectors was removed and replaced with a much larger limit based on implementation limitations that are unlikely to be met for sane systems. If the new limits ever become too low for a sane application, the limits may be increased by updating the integer components of a kspace vector to be encoded in a 64-bit integer instead of a 32-bit integer. For triclinic and non-cubic, orthogonal boxes, the range within which to check kspace vectors is automatically computed based on the face distances of a box in reciprocal space for which the cell matrix is the transpose of the inverse of the cell matrix for the real box. Previously, the range to check in reciprocal space was hardcoded for triclinic and non-cubic, orthogonal boxes.
Configuration menu - View commit details
-
Copy full SHA for be7a1b9 - Browse repository at this point
Copy the full SHA be7a1b9View commit details
Commits on Apr 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for b5bd87c - Browse repository at this point
Copy the full SHA b5bd87cView commit details
Commits on Apr 22, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 201a106 - Browse repository at this point
Copy the full SHA 201a106View commit details
Commits on May 3, 2024
-
Merge branch 'improved_ewald_setup' into extreme_efficiency_enhancements
Also improve cavity biasing random position generation and use 32-bit integers to encode cavity voxel coordinates when voxel grid is small enough. This commit also adds a "compatibility mode" that enabled by default in this commit. When compatibility_mode is true, several changes are made to the CBMC routines to try to emulate their old implementation. Although the new implementation is correct, it generates and uses random numbers differently, causing many tests to fail at the moment. Also improve trajectory reader parallelization and efficiency. Add special system Ewald reciprocal energy routine for simulations using the trajectory reader. Trajectory reader simulations (sim type pregen) don't need sin_mol and cos_mol, so they are not allocated.
Configuration menu - View commit details
-
Copy full SHA for 7887319 - Browse repository at this point
Copy the full SHA 7887319View commit details
Commits on May 10, 2024
-
Detect SIMD vector size and alignment from compiler options and adjus…
…t padding and vectorization accordingly. This commit also adds lossless compression for cavity_locs and cavity_locs_int32, which store cavity voxel locations. Target architecture optimization flags were added to gfortran Makefiles. This commit also reduces stack usage when creating atompair_nrg_table_reduced, which would previously sometimes cause Cassandra to run out of stack space unless the stack size limit is increased from the default, depending on the default limit and memory requirements. For the Intel compiler, Cassandra derives memory padding parameters from the -align arraynbyte compiler option. For the gfortran compiler, Cassandra derives this from the -m option, such as -mavx2 or -msse4.2. With gfortran, the -m option should always be included even if it is redundant with -march since Cassandra uses it to determine memory padding and in rare cases vector size.
Configuration menu - View commit details
-
Copy full SHA for 51784a9 - Browse repository at this point
Copy the full SHA 51784a9View commit details