Skip to content

Merge multi-precision support into main#213

Merged
rouson merged 115 commits into
mainfrom
develop
Oct 17, 2024
Merged

Merge multi-precision support into main#213
rouson merged 115 commits into
mainfrom
develop

Conversation

@rouson

@rouson rouson commented Oct 2, 2024

Copy link
Copy Markdown
Contributor

This PR is will be ready to merge either when gfortran's support for parameterized derived types (PDTs) has been fixed or we have decided to drop support for gfortran.

The develop branch that this PR will merge into main resulted from merging three significant development branches:

  1. The parallel branch added support for automatic parallelization of training via do concurrent.
  2. The parameterized-derived-types branch added the ability to support both default-real and double precision inference without requiring recompiling.
  3. The rename-inference-engine_t branch, which globally renames the project from "Inference-Engine" to Fiats and correspondingly renames numerous program entities (files, modules, procedures, documentation, etc.)

The latter three branches have been deleted in order to clarify the path forward. Starting now, new work should branch off of develop.

rouson added 30 commits August 27, 2024 19:52
This commit replaces the inference_engine_t type-bound, generic
subtraction operator(-) with an user-defined approximate
equivalence operator(==), which simplifies comparisons by
eliminating the diffence_t type.  The new operator is used in
inference_engine_test_m instead of the difference_t, operator(-),
and the norm() function.
This commit sets up for adding double-precision support by
making the activation and activation-derivative bindings generic.
This commit adds double-precision versions of all tensor_map_t
type-bound and constructor procedures except the
default_real_from_json constructor function.
This commit adds a generic "predict" binding to follow PyTorch
nomenclature.  For now, the equivalent "infer" generic binding
remains to support existing code.
also update julienne dependency to 1.2.0 for double-precsion value
extraction from JSON files.
@rouson

rouson commented Oct 16, 2024

Copy link
Copy Markdown
Contributor Author

Based on correspondences with gfortran developers it appears that the fixes to gfortran that would be required for this repository to continue supporting gfortran are likely to be a ways out. Now that the develop branch also includes a merge of PR #218, delaying merging this PR would also delay the renaming of Inference-Engine to Fiats. The name change is somewhat urgent in the sense that this repository is now being featured in several important documents, including anticipated third-party submissions by outside parties in response to the FASST RFI and the ORNL/DOE "New Frontiers" RFP. It therefore makes sense to merge this PR post haste.

@rouson rouson marked this pull request as ready for review October 16, 2024 22:21
Comment thread README.md Outdated
Co-authored-by: Katherine Rasmussen <krasmussen@lbl.gov>
Comment thread README.md Outdated
Comment thread README.md Outdated
rouson and others added 2 commits October 16, 2024 16:55
Co-authored-by: Katherine Rasmussen <krasmussen@lbl.gov>
@rouson rouson merged commit b2a0663 into main Oct 17, 2024
@rouson rouson deleted the develop branch October 17, 2024 00:04
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