{"id":19706005,"url":"https://github.com/llnl/fpchecker","last_synced_at":"2026-05-21T00:02:02.582Z","repository":{"id":45126547,"uuid":"177033795","full_name":"llnl/FPChecker","owner":"llnl","description":"A dynamic analysis tool to detect floating-point errors in HPC applications.","archived":false,"fork":false,"pushed_at":"2026-05-20T19:42:45.000Z","size":14045,"stargazers_count":40,"open_issues_count":14,"forks_count":11,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-05-20T19:43:56.802Z","etag":null,"topics":["cancellation","clang","cuda","exceptions","floating-point","floating-point-arithmetic","infinity","llvm","overflow","overflow-detection","underflow-detection"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/llnl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-03-21T22:34:14.000Z","updated_at":"2026-02-12T06:06:37.000Z","dependencies_parsed_at":"2025-04-04T21:19:29.801Z","dependency_job_id":"15725ac9-7695-4c54-9ded-1df8ea3c5d77","html_url":"https://github.com/llnl/FPChecker","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/llnl/FPChecker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/llnl%2FFPChecker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/llnl%2FFPChecker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/llnl%2FFPChecker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/llnl%2FFPChecker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/llnl","download_url":"https://codeload.github.com/llnl/FPChecker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/llnl%2FFPChecker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33281300,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-20T15:12:43.734Z","status":"ssl_error","status_checked_at":"2026-05-20T15:12:42.300Z","response_time":356,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cancellation","clang","cuda","exceptions","floating-point","floating-point-arithmetic","infinity","llvm","overflow","overflow-detection","underflow-detection"],"created_at":"2024-11-11T21:33:03.060Z","updated_at":"2026-05-21T00:02:02.576Z","avatar_url":"https://github.com/llnl.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n# FPChecker\n--\u003e\n\u003cimg src=\"figures/logo_fpchecker.png\" /\u003e\n\n[![Build Status](https://travis-ci.org/LLNL/FPChecker.svg?branch=master)](https://travis-ci.org/LLNL/FPChecker)\n\n**FPChecker** (Floating-Point Checker) is a dynamic analysis tool for profiling floating-point behavior in HPC applications.\nIt gives developers clear, execution-based insight into how floating-point arithmetic behaves\nunder real workloads and is currently the only tool in its class tailored to the HPC domain.\nDesigned for straightforward adoption, FPChecker integrates with existing build workflows and\nproduces detailed reports that pinpoint the exact file and line locations of numerical issues,\nincluding exceptions, high accumulated rounding error, cancellation, and related events.\nIts rounding-error reports also support data-driven mixed-precision tuning by highlighting\ncode locations where promotion to higher precision is most beneficial.\n\n## Documentation\n\nTo see how to install and use FPChecker, visit: [https://fpchecker.org/](https://fpchecker.org/)\n\n## Features\n\n- **Easy adoption:** FPChecker requires only minor build-script updates, such as replacing \nthe compiler invocation (for example, `clang++`) with FPChecker wrappers (for example, `clang++-fpchecker`). \nInstrumentation is then applied automatically at build time.\n- **Execution-accurate detection:** FPChecker reports issues based on actual execution for the selected inputs, \nreducing false alarms from paths that are not exercised.\n- **Built for HPC workflows:** FPChecker supports key HPC languages and programming models, including C/C++, MPI, \nand, in selected modes, OpenMP and Pthreads.\n- **Actionable reporting:** FPChecker produces detailed reports that identify the exact source \nlocation (file and line) of floating-point issues.\n- **Mixed-precision guidance:** Rounding-error accumulation reports highlight high-risk lines, \nhelping users prioritize selective FP32-to-FP64 promotion based on measured numerical impact.\n\n### Contact\nFor questions, contact Ignacio Laguna \u003cilaguna@llnl.gov\u003e.\n\nTo cite FPChecker please use\n\n```\nLaguna, Ignacio. \"FPChecker: Detecting Floating-point Exceptions in GPU Applications.\"\nIn 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE), \npp. 1126-1129. IEEE, 2019.\n```\n\nor\n\n```\nIgnacio Laguna, Tanmay Tirpankar, Xinyi Li, and Ganesh Gopalakrishnan. \n\"Fpchecker: Floating-point exception detection tool and benchmark for \nparallel and distributed HPC.\" In 2022 IEEE International Symposium \non Workload Characterization (IISWC), pp. 39-50. IEEE, 2022.\n```\n\n## License\n\nFPChecker is distributed under the terms of the Apache License (Version 2.0).\n\nAll new contributions must be made under the Apache-2.0 license.\n\nSee LICENSE and NOTICE for details.\n\nLLNL-CODE-769426\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fllnl%2Ffpchecker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fllnl%2Ffpchecker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fllnl%2Ffpchecker/lists"}