Instructions to use cahlen/erdos-straus-cuda with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Kernels
How to use cahlen/erdos-straus-cuda with Kernels:
# !pip install kernels from kernels import get_kernel kernel = get_kernel("cahlen/erdos-straus-cuda") - Notebooks
- Google Colab
- Kaggle
| # /// script | |
| # dependencies = ["torch", "kernels"] | |
| # /// | |
| """Test the Erdos-Straus kernel against CPU-verified values.""" | |
| import torch | |
| from kernels import get_kernel | |
| erdos_straus = get_kernel("cahlen/erdos-straus-cuda") | |
| # CPU-verified f(p) values (exact algorithm match) | |
| KNOWN = { | |
| 2: 1, 3: 3, 5: 2, 7: 7, 11: 9, 13: 4, 17: 4, 19: 11, | |
| 23: 21, 29: 7, 31: 19, 37: 9, 41: 7, 43: 14, 97: 8, | |
| 101: 16, 1009: 19, | |
| } | |
| primes = torch.tensor(list(KNOWN.keys()), dtype=torch.int64, device="cuda") | |
| counts = erdos_straus.count(primes) | |
| results = dict(zip(KNOWN.keys(), counts.tolist())) | |
| passed = failed = 0 | |
| for p, expected in KNOWN.items(): | |
| got = results[p] | |
| if got != expected: | |
| print(f" FAIL: f({p}) = {got}, expected {expected}") | |
| failed += 1 | |
| else: | |
| passed += 1 | |
| print(f"{passed}/{passed+failed} tests passed") | |
| assert failed == 0, f"{failed} tests failed!" | |
| assert all(c >= 1 for c in counts.tolist()), "COUNTEREXAMPLE FOUND!" | |
| print("Conjecture holds for all test primes") | |