Skip to content

Avoid error in acos and asin with fast-math#776

Merged
jhenin merged 1 commit intomasterfrom
hardcoded_inverse_trig
Mar 10, 2025
Merged

Avoid error in acos and asin with fast-math#776
jhenin merged 1 commit intomasterfrom
hardcoded_inverse_trig

Conversation

@jhenin
Copy link
Member

@jhenin jhenin commented Mar 7, 2025

by returning hardcoded values on boundaries -1 and 1

Compared with previous fix #768 this is more radical:

by returning hardcoded values on boundaries -1 and 1
@jhenin jhenin force-pushed the hardcoded_inverse_trig branch from ecffd18 to bce7a2a Compare March 7, 2025 12:17
@HanatoK
Copy link
Member

HanatoK commented Mar 7, 2025

Looks good.

@jhenin jhenin merged commit f2994c3 into master Mar 10, 2025
15 checks passed
@jhenin jhenin deleted the hardcoded_inverse_trig branch March 10, 2025 09:36
giacomofiorin added a commit to Colvars/lammps that referenced this pull request Apr 18, 2025
The following is a list of pull requests relevant to LAMMPS in the Colvars repository since 2024-08-06:

- 752 New tool poisson_integrator_conv
  Colvars/colvars#752 (@jhenin)

- 733 Custom grids for all biases
  Colvars/colvars#733 (@giacomofiorin, @jhenin)

- 776 Avoid error in acos and asin with fast-math
  Colvars/colvars#776 (@jhenin)

- 773 fix: fix the clang build test failure of OPES
  Colvars/colvars#773 (@HanatoK)

- 768 fix: clamp the input values of asin and acos in case of fast math on aarch64
  Colvars/colvars#768 (@HanatoK)

- 761 Add debug code for the Jacobi failure
  Colvars/colvars#761 (@HanatoK)

- 759 min_image fix; Saves long runs from crashes;
  Colvars/colvars#759 (@PolyachenkoYA)

- 757 Fix MSVC OpenMP issue
  Colvars/colvars#757 (@HanatoK)

- 755 Fix indentation of 'Init CVC' message in standard output
  Colvars/colvars#755 (@jhenin)

- 750 Optimize and simplify the calculation of dihedral gradients
  Colvars/colvars#750 (@HanatoK)

- 749 Add references to new Colvars paper
  Colvars/colvars#749 (@jhenin, @giacomofiorin)

- 740 Report the specific C++ standard at init time, stop warning about C++97/03
  Colvars/colvars#740 (@giacomofiorin)

- 731 Improve detection of hard/mathematical boundaries
  Colvars/colvars#731 (@giacomofiorin)

- 729 Optimize the fit gradients
  Colvars/colvars#729 (@HanatoK, @jhenin)

- 728 Fix undefined behavior when getting the current working directory from std::filesystem
  Colvars/colvars#728 (@giacomofiorin)

- 727 Add patchversion scripting command
  Colvars/colvars#727 (@giacomofiorin)

- 724 Fix gradients and metric functions of distanceDir
  Colvars/colvars#724 (@giacomofiorin)

- 715 Add missing rotation in orientation component
  Colvars/colvars#715 (@giacomofiorin)

- 713 fix: try to solve lammps#87 for non-scala components
  Colvars/colvars#713 (@HanatoK)

- 709 Implementation of OPES in Colvars
  Colvars/colvars#709 (@HanatoK, @giacomofiorin, @jhenin)

- 706 BUGFIX for Segmentation fault in colvarbias_meta::calc_energy() with useGrids off
  Colvars/colvars#706 (@alphataubio)

- 570 enable use of CVs defined by PyTorch neural network models
  Colvars/colvars#570 (@zwpku, @giacomofiorin, @HanatoK, @jhenin)

Authors: @alphataubio, @EzryStIago, @giacomofiorin, @HanatoK, @jhenin, @PolyachenkoYA, @zwpku
giacomofiorin added a commit to lammps/lammps that referenced this pull request Apr 18, 2025
The following is a list of pull requests relevant to LAMMPS in the Colvars repository since 2024-08-06:

- 752 New tool poisson_integrator_conv
  Colvars/colvars#752 (@jhenin)

- 733 Custom grids for all biases
  Colvars/colvars#733 (@giacomofiorin, @jhenin)

- 776 Avoid error in acos and asin with fast-math
  Colvars/colvars#776 (@jhenin)

- 773 fix: fix the clang build test failure of OPES
  Colvars/colvars#773 (@HanatoK)

- 768 fix: clamp the input values of asin and acos in case of fast math on aarch64
  Colvars/colvars#768 (@HanatoK)

- 761 Add debug code for the Jacobi failure
  Colvars/colvars#761 (@HanatoK)

- 759 min_image fix; Saves long runs from crashes;
  Colvars/colvars#759 (@PolyachenkoYA)

- 757 Fix MSVC OpenMP issue
  Colvars/colvars#757 (@HanatoK)

- 755 Fix indentation of 'Init CVC' message in standard output
  Colvars/colvars#755 (@jhenin)

- 750 Optimize and simplify the calculation of dihedral gradients
  Colvars/colvars#750 (@HanatoK)

- 749 Add references to new Colvars paper
  Colvars/colvars#749 (@jhenin, @giacomofiorin)

- 740 Report the specific C++ standard at init time, stop warning about C++97/03
  Colvars/colvars#740 (@giacomofiorin)

- 731 Improve detection of hard/mathematical boundaries
  Colvars/colvars#731 (@giacomofiorin)

- 729 Optimize the fit gradients
  Colvars/colvars#729 (@HanatoK, @jhenin)

- 728 Fix undefined behavior when getting the current working directory from std::filesystem
  Colvars/colvars#728 (@giacomofiorin)

- 727 Add patchversion scripting command
  Colvars/colvars#727 (@giacomofiorin)

- 724 Fix gradients and metric functions of distanceDir
  Colvars/colvars#724 (@giacomofiorin)

- 715 Add missing rotation in orientation component
  Colvars/colvars#715 (@giacomofiorin)

- 713 fix: try to solve #87 for non-scala components
  Colvars/colvars#713 (@HanatoK)

- 709 Implementation of OPES in Colvars
  Colvars/colvars#709 (@HanatoK, @giacomofiorin, @jhenin)

- 706 BUGFIX for Segmentation fault in colvarbias_meta::calc_energy() with useGrids off
  Colvars/colvars#706 (@alphataubio)

- 570 enable use of CVs defined by PyTorch neural network models
  Colvars/colvars#570 (@zwpku, @giacomofiorin, @HanatoK, @jhenin)

Authors: @alphataubio, @EzryStIago, @giacomofiorin, @HanatoK, @jhenin, @PolyachenkoYA, @zwpku
giacomofiorin added a commit to Colvars/lammps that referenced this pull request Apr 30, 2025
The following is a list of pull requests relevant to LAMMPS in the Colvars repository since 2024-08-06:

- 752 New tool poisson_integrator_conv
  Colvars/colvars#752 (@jhenin)

- 733 Custom grids for all biases
  Colvars/colvars#733 (@giacomofiorin, @jhenin)

- 776 Avoid error in acos and asin with fast-math
  Colvars/colvars#776 (@jhenin)

- 773 fix: fix the clang build test failure of OPES
  Colvars/colvars#773 (@HanatoK)

- 768 fix: clamp the input values of asin and acos in case of fast math on aarch64
  Colvars/colvars#768 (@HanatoK)

- 761 Add debug code for the Jacobi failure
  Colvars/colvars#761 (@HanatoK)

- 759 min_image fix; Saves long runs from crashes;
  Colvars/colvars#759 (@PolyachenkoYA)

- 757 Fix MSVC OpenMP issue
  Colvars/colvars#757 (@HanatoK)

- 755 Fix indentation of 'Init CVC' message in standard output
  Colvars/colvars#755 (@jhenin)

- 750 Optimize and simplify the calculation of dihedral gradients
  Colvars/colvars#750 (@HanatoK)

- 749 Add references to new Colvars paper
  Colvars/colvars#749 (@jhenin, @giacomofiorin)

- 740 Report the specific C++ standard at init time, stop warning about C++97/03
  Colvars/colvars#740 (@giacomofiorin)

- 731 Improve detection of hard/mathematical boundaries
  Colvars/colvars#731 (@giacomofiorin)

- 729 Optimize the fit gradients
  Colvars/colvars#729 (@HanatoK, @jhenin)

- 728 Fix undefined behavior when getting the current working directory from std::filesystem
  Colvars/colvars#728 (@giacomofiorin)

- 727 Add patchversion scripting command
  Colvars/colvars#727 (@giacomofiorin)

- 724 Fix gradients and metric functions of distanceDir
  Colvars/colvars#724 (@giacomofiorin)

- 715 Add missing rotation in orientation component
  Colvars/colvars#715 (@giacomofiorin)

- 713 fix: try to solve lammps#87 for non-scala components
  Colvars/colvars#713 (@HanatoK)

- 709 Implementation of OPES in Colvars
  Colvars/colvars#709 (@HanatoK, @giacomofiorin, @jhenin)

- 706 BUGFIX for Segmentation fault in colvarbias_meta::calc_energy() with useGrids off
  Colvars/colvars#706 (@alphataubio)

- 570 enable use of CVs defined by PyTorch neural network models
  Colvars/colvars#570 (@zwpku, @giacomofiorin, @HanatoK, @jhenin)

Authors: @alphataubio, @EzryStIago, @giacomofiorin, @HanatoK, @jhenin, @PolyachenkoYA, @zwpku
giacomofiorin added a commit to Colvars/lammps that referenced this pull request Apr 30, 2025
The following is a list of pull requests relevant to LAMMPS in the Colvars repository since 2024-08-06:

- 752 New tool poisson_integrator_conv
  Colvars/colvars#752 (@jhenin)

- 733 Custom grids for all biases
  Colvars/colvars#733 (@giacomofiorin, @jhenin)

- 776 Avoid error in acos and asin with fast-math
  Colvars/colvars#776 (@jhenin)

- 773 fix: fix the clang build test failure of OPES
  Colvars/colvars#773 (@HanatoK)

- 768 fix: clamp the input values of asin and acos in case of fast math on aarch64
  Colvars/colvars#768 (@HanatoK)

- 761 Add debug code for the Jacobi failure
  Colvars/colvars#761 (@HanatoK)

- 759 min_image fix; Saves long runs from crashes;
  Colvars/colvars#759 (@PolyachenkoYA)

- 757 Fix MSVC OpenMP issue
  Colvars/colvars#757 (@HanatoK)

- 755 Fix indentation of 'Init CVC' message in standard output
  Colvars/colvars#755 (@jhenin)

- 750 Optimize and simplify the calculation of dihedral gradients
  Colvars/colvars#750 (@HanatoK)

- 749 Add references to new Colvars paper
  Colvars/colvars#749 (@jhenin, @giacomofiorin)

- 740 Report the specific C++ standard at init time, stop warning about C++97/03
  Colvars/colvars#740 (@giacomofiorin)

- 731 Improve detection of hard/mathematical boundaries
  Colvars/colvars#731 (@giacomofiorin)

- 729 Optimize the fit gradients
  Colvars/colvars#729 (@HanatoK, @jhenin)

- 728 Fix undefined behavior when getting the current working directory from std::filesystem
  Colvars/colvars#728 (@giacomofiorin)

- 727 Add patchversion scripting command
  Colvars/colvars#727 (@giacomofiorin)

- 724 Fix gradients and metric functions of distanceDir
  Colvars/colvars#724 (@giacomofiorin)

- 715 Add missing rotation in orientation component
  Colvars/colvars#715 (@giacomofiorin)

- 713 fix: try to solve lammps#87 for non-scala components
  Colvars/colvars#713 (@HanatoK)

- 709 Implementation of OPES in Colvars
  Colvars/colvars#709 (@HanatoK, @giacomofiorin, @jhenin)

- 706 BUGFIX for Segmentation fault in colvarbias_meta::calc_energy() with useGrids off
  Colvars/colvars#706 (@alphataubio)

- 570 enable use of CVs defined by PyTorch neural network models
  Colvars/colvars#570 (@zwpku, @giacomofiorin, @HanatoK, @jhenin)

Authors: @alphataubio, @EzryStIago, @giacomofiorin, @HanatoK, @jhenin, @PolyachenkoYA, @zwpku
acmnpv pushed a commit to gromacs/gromacs that referenced this pull request Nov 7, 2025
This update introduces some new features (flexible definition of CV grids), significant
performance improvements by switching to a structure-of-arrays (SOA) memory layout, and bugfixes
for several use cases.

The following is a list of pull requests affecting GROMACS merged into the Colvars repository
since 2024-11-14:

- 873 test: Functional test for atomPermutation
    Colvars/colvars#873 (@HanatoK, @jhenin)

- 868 Fix debug gradients recalc gradients
    Colvars/colvars#868 (@HanatoK)

- 866 Make non-MTS colvars always awake
    Colvars/colvars#866 (@jhenin)

- 856 Fix cut and paste error in dipole_angle gradients
    Colvars/colvars#856 (@giacomofiorin)

- 854 fix: update the total charge and total mass from AOS to SOA
    Colvars/colvars#854 (@HanatoK)

- 851 Moving harmonic walls - unify moving restraint logic
    Colvars/colvars#851 (@jhenin, @giacomofiorin, @OmriShf)

- 849 opt: optimize the forces or gradients from q to the fitting group
    Colvars/colvars#849 (@HanatoK)

- 856 Fix cut and paste error in dipole_angle gradients
  Colvars/colvars#856 (@giacomofiorin)

- 854 fix: update the total charge and total mass from AOS to SOA
  Colvars/colvars#854 (@HanatoK)

- 847 Define version numbers outside of headers
  Colvars/colvars#847 (@giacomofiorin)

- 839 Optimize the calculation of fit gradients and update the documentation (fix #560)
  Colvars/colvars#839 (@HanatoK, @jhenin)

- 838 More functional tests
  Colvars/colvars#838 (@jhenin, @giacomofiorin)

- 835 Initialize quaternions to zero, rotations to unity
  Colvars/colvars#835 (@jhenin)

- 831 Gradient tests and bugfix
  Colvars/colvars#831 (@jhenin, @HanatoK)

- 829 fix: try fixing the orientation sign
  Colvars/colvars#829 (@HanatoK)

- 828 fix: fix the gradients of the eigenvector CVC
  Colvars/colvars#828 (@HanatoK, @jhenin)

- 824 fix: fix a potential issue of "fit gradients" for non-scalar components with only centering but not rotating
  Colvars/colvars#824 (@HanatoK, @jhenin)

- 822 Documentation for torchann and a minor change
  Colvars/colvars#822 (@zwpku)

- 814 Add regression test for multiple-walkers metadynamics in GROMACS
  Colvars/colvars#814 (@giacomofiorin)

- 808 fix: fix the calculation of bias factor with off-grid hills
  Colvars/colvars#808 (@HanatoK)

- 799 Weighted Poisson integration
  Colvars/colvars#799 (@jhenin)

- 798 Rename m_output_index to output_component in torchANN
  Colvars/colvars#798 (@giacomofiorin)

- 797 Add torchANN documentation
  Colvars/colvars#797 (@giacomofiorin)

- 794 Correctly implement parallel OPES
  Colvars/colvars#794 (@HanatoK, @jhenin)

- 788 Change the atom group to SOA
  Colvars/colvars#788 (@HanatoK, @giacomofiorin, @jhenin)

- 780 Add an option to parallelize the inner loops instead of CVCs
  Colvars/colvars#780 (@HanatoK, @giacomofiorin)

- 776 Avoid error in acos and asin with fast-math
  Colvars/colvars#776 (@jhenin)

- 773 fix: fix the clang build test failure of OPES
  Colvars/colvars#773 (@HanatoK)

- 768 fix: clamp the input values of asin and acos in case of fast math on aarch64
  Colvars/colvars#768 (@HanatoK)

- 761 Add debug code for the Jacobi failure
  Colvars/colvars#761 (@HanatoK)

- 757 Fix MSVC OpenMP issue
  Colvars/colvars#757 (@HanatoK)

- 755 Fix indentation of 'Init CVC' message in standard output
  Colvars/colvars#755 (@jhenin)

- 752 New tool poisson_integrator_conv
  Colvars/colvars#752 (@jhenin)

- 750 Optimize and simplify the calculation of dihedral gradients
  Colvars/colvars#750 (@HanatoK)

- 749 Add references to new Colvars paper
  Colvars/colvars#749 (@jhenin, @giacomofiorin)

- 733 Custom grids for all biases
  Colvars/colvars#733 (@giacomofiorin, @jhenin)

Authors: @giacomofiorin, @HanatoK, @jhenin, @zwpku, @OmriShf

Closes #560
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants