Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ramanujan-Computing: Distributed Computing with Idle Smart Devices: Open-Source
3 points by ps_ramanujan 24 days ago | hide | past | favorite | 2 comments
We're excited to share Ramanujan, a new open-source programming language and distributed computation platform that aims to unlock the vast, untapped processing power of modern smart devices. Imagine all those idle smartphones and smart TVs contributing to scientific research!

The inspiration is simple: an Apollo guidance computer's CPU was as powerful as a modern scientific calculator. Today's smart devices are millions of times more powerful, yet they're mostly idle. Ramanujan helps utilize this power for scientific advancement.

What is Ramanujan? Ramanujan is designed for distributed computation. Unlike platforms like BOINC, which often require project-specific clients, Ramanujan offers a universal interpreter. Project owners submit their code in the Ramanujan language, and participating devices, having installed the Ramanujan client once, can execute any submitted computation.

The interpreter is written in C++ and demonstrates significant performance gains:

~14% faster than CPython for a Gradient Descent algorithm (~350ms vs ~410ms).

Over 20X faster than MATLAB for a Whale Optimization Algorithm (2.5 sec vs 55 sec for optimizing 10 functions).

Key Features & Future Goals Performance: Faster than CPython and MATLAB for scientific computations.

Open-Source: MIT licensed project, code available on GitHub.

Device Compatibility: Binaries available for Android, macOS, and Ubuntu. Windows support is coming soon. Technically, any internet-connected device capable of basic arithmetic can run the interpreter once compiled for its architecture.

Ease of Use: A new portal (portal.ramanujan.dev) makes it easy for anyone to run Ramanujan jobs. An installer is also available for local desktop machines (Ubuntu, MacOS).

Our near-future goals are focused on Python compatibility:

Full Python Adoption: Allow state-of-the-art Python research code to run seamlessly on Ramanujan without modifications, by adopting Python constructs and grammar.

CFFI Integration: Enable associated CFFI code to run alongside Python scripts.

Expanded Device Support: Make clients available for a wider range of smart devices (fridges, washing machines, etc.) to maximize global compute contributions.

This project has the potential to significantly reduce e-waste and carbon emissions by leveraging existing hardware. We believe it can revolutionize computing for scientific research.

Get Involved! Ramanujan is in its nascent stage, and we're actively seeking contributors! Whether you're passionate about programming, compilers, distributed systems, or simply want to contribute to an impactful open-source project, we invite you to join us. Students are especially welcome to learn about compilers, distributed orchestration (our current service orchestrates thousands of computations with just a 2-core CPU!), and large-scale systems.

Checkout the project:

Portal: https://portal.ramanujan.dev

GitHub: https://github.com/Ramanujan-Computing/Ramanujan

Let's collaborate to push Ramanujan forward!



In https://news.ycombinator.com/item?id=44549549 I get a login wall. You should make a landing page with info about the project, perhaps a copy of what you wrote here.

From https://github.com/Ramanujan-Computing/Ramanujan it looks similar to javascript. How different is it?


Hi @gus_massa, Thanks for the comment!

Have added a landing page which gives information about the project.

>>>it looks similar to javascript. How different is it?

Definitely at code level, the syntax matches that of javascript. But the real magic is what can run it. The idea is that the given Ramanujan code can be ran on any digital device, so that the idle computation power of the devices can be used. The goal is, if we can make computing open for everyone. Right now, for a researcher to run their simulation, either needs a big computer in-house, or they spend lot of money on cloud services. For a highly funded team, its okay, but from small budgeted team like University students / profs, it becomes a bottleneck. Right now, the university would have tons of computation power in house from these digital device, but they can't be used. With this project, such computation power can be used.

Thanks!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: