# AutoRPE
![AutoRPE Logo](docs/source/images/logo.png)
*(Automatic Reduced Precision Emulator)*
AutoRPE is a tool designed to optimize the numerical precision of computational science models written in Fortran. Originally developed to enable the use of a [Reduced Precision Emulator](https://rpe.readthedocs.io/en/stable/) (RPE) ( [Dawson, A. and Düben, P. D.: 2017](https://gmd.copernicus.org/articles/10/2221/2017/)) in large-scale codes such as NEMO, AutoRPE has since evolved into a framework for streamlining code modifications, managing precision experiments, and facilitating precision sensitivity analysis.
## Features
- **Automatic Code Manipulation:**
Modifies Fortran source code to implement reduced precision emulation, reducing manual effort.
- **Precision Sensitivity Analysis:**
Identifies sensitive variables requiring higher precision using algorithms like binary search.
- **Workflow Management:**
Automates precision testing workflows to minimize manual intervention and ensure reproducibility.
- **Code Coherency Assurance:**
Detects and resolves inconsistencies in variable types to ensure code correctness.
## Background
Global warming and climate change pose significant challenges to humanity due to their social, economic, and environmental impacts. Better understanding and improved capacity to forecast climate evolution can support the development of ambitious adaptation policies. Earth system models (ESMs) are crucial for simulating and predicting climate behavior, but their computational demands continue to grow with advancements such as higher resolution and ensemble forecasting. Efficient use of computational resources has become essential, and mixed-precision approaches are emerging as a way to enhance performance by reducing memory and computational costs. However, identifying variables that can safely operate at reduced precision without compromising model accuracy is complex. AutoRPE was developed to automate this process, enabling the exploration of mixed-precision configurations in full-scale models and facilitating performance improvements in computationally intensive simulations.
## Documentation
For detailed documentation on installation, usage, and workflows, visit the [AutoRPE Documentation](https://autorpe.readthedocs.io).
Raw data
{
"_id": null,
"home_page": null,
"name": "AutoRPE",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "mixed precision, HPC",
"author": null,
"author_email": "Oriol Tint\u00f3 Prims <oriol.tinto@bsc.es>",
"download_url": "https://files.pythonhosted.org/packages/82/cd/403b75c3dd46821fd101ba8f3fa1612e14d2cffb9b12145003f253cb07ea/autorpe-1.0.0.tar.gz",
"platform": null,
"description": "# AutoRPE\n\n![AutoRPE Logo](docs/source/images/logo.png)\n*(Automatic Reduced Precision Emulator)*\n\nAutoRPE is a tool designed to optimize the numerical precision of computational science models written in Fortran. Originally developed to enable the use of a [Reduced Precision Emulator](https://rpe.readthedocs.io/en/stable/) (RPE) ( [Dawson, A. and D\u00fcben, P. D.: 2017](https://gmd.copernicus.org/articles/10/2221/2017/)) in large-scale codes such as NEMO, AutoRPE has since evolved into a framework for streamlining code modifications, managing precision experiments, and facilitating precision sensitivity analysis.\n\n## Features\n\n- **Automatic Code Manipulation:**\n\nModifies Fortran source code to implement reduced precision emulation, reducing manual effort.\n\n- **Precision Sensitivity Analysis:**\n\nIdentifies sensitive variables requiring higher precision using algorithms like binary search.\n\n- **Workflow Management:**\n\nAutomates precision testing workflows to minimize manual intervention and ensure reproducibility.\n\n- **Code Coherency Assurance:**\n\nDetects and resolves inconsistencies in variable types to ensure code correctness.\n\n## Background\n\nGlobal warming and climate change pose significant challenges to humanity due to their social, economic, and environmental impacts. Better understanding and improved capacity to forecast climate evolution can support the development of ambitious adaptation policies. Earth system models (ESMs) are crucial for simulating and predicting climate behavior, but their computational demands continue to grow with advancements such as higher resolution and ensemble forecasting. Efficient use of computational resources has become essential, and mixed-precision approaches are emerging as a way to enhance performance by reducing memory and computational costs. However, identifying variables that can safely operate at reduced precision without compromising model accuracy is complex. AutoRPE was developed to automate this process, enabling the exploration of mixed-precision configurations in full-scale models and facilitating performance improvements in computationally intensive simulations.\n\n## Documentation\n\nFor detailed documentation on installation, usage, and workflows, visit the [AutoRPE Documentation](https://autorpe.readthedocs.io).\n",
"bugtrack_url": null,
"license": "Copyright 2024 Barcelona Supercomputing Center Oriol Tint\u00f3 Prims, Stella V. Paronuzzi Ticco, Maitane Fari\u00f1as, Miguel Castrillo, Mario C. Acosta Cobos Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ",
"summary": "AutoRPE is a tool designed to help with the optimization of numerical precision of Computational Science models writen in FORTRAN.",
"version": "1.0.0",
"project_urls": {
"documentation": "https://earth.bsc.es/gitlab/ces/hpc-for-es-team/AutoRPE",
"homepage": "https://earth.bsc.es/gitlab/ces/hpc-for-es-team/AutoRPE",
"repository": "https://earth.bsc.es/gitlab/ces/hpc-for-es-team/AutoRPE"
},
"split_keywords": [
"mixed precision",
" hpc"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "93d36bbc9c88efdd11db764e4d7cc171077d033c729db4bae24db211be59845a",
"md5": "88c6354a6057e428eefecc2d64586079",
"sha256": "d634d4f353682e8a10b45d7f5715d8a243bb9083503f1affe44ffac3a9f9e642"
},
"downloads": -1,
"filename": "AutoRPE-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "88c6354a6057e428eefecc2d64586079",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 170495,
"upload_time": "2024-12-20T12:06:01",
"upload_time_iso_8601": "2024-12-20T12:06:01.571740Z",
"url": "https://files.pythonhosted.org/packages/93/d3/6bbc9c88efdd11db764e4d7cc171077d033c729db4bae24db211be59845a/AutoRPE-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "82cd403b75c3dd46821fd101ba8f3fa1612e14d2cffb9b12145003f253cb07ea",
"md5": "a956f199549205fe7b5374b89804cb93",
"sha256": "89134aa9c55f0f71480aa5321061499c0f6f0078fe133a6f978beaa928fd796b"
},
"downloads": -1,
"filename": "autorpe-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "a956f199549205fe7b5374b89804cb93",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 139235,
"upload_time": "2024-12-20T12:06:04",
"upload_time_iso_8601": "2024-12-20T12:06:04.736789Z",
"url": "https://files.pythonhosted.org/packages/82/cd/403b75c3dd46821fd101ba8f3fa1612e14d2cffb9b12145003f253cb07ea/autorpe-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-20 12:06:04",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "autorpe"
}