NuNet adds support for Scientific Computing in DeSci with PyOpenCL

Jennifer Bourke
NuNet
Published in
4 min readNov 30, 2023
NuNet adds support for Scientific Computing in DeSci with PyOpenCL

Greetings NuNetopians,

NuNet is happy to announce that we have added support for scientific computing in DeSci by integrating PyOpenCL on our Public Alpha Testnet SPD (Service Provider Dashboard). This initiative introduces PyOpenCL-based Dockerfiles — each for NVIDIA and AMD GPUs, to support the Conda environment in a vendor agnostic manner. The main aim of these containers is to introduce scientific computing and enhance machine learning by providing a robust and flexible environment.

What is PyOpenCL?

PyOpenCL is a Python library that allows developers to access and utilize the OpenCL parallel computing framework. OpenCL (Open Computing Language) is an open standard for writing programs that perform parallel computing across different computing platforms. It is particularly used for applications that require high computational efficiency and are executed on a variety of hardware devices. OpenCL provides a framework for writing programs that can run on graphics processing units (GPUs), central processing units (CPUs), and other types of processors or hardware accelerators.

OpenCL is crucial in the technology industry, especially in areas that demand high computational power. It allows developers to effectively exploit the capabilities of modern multi-core and multi-processor systems, leading to significant improvements in performance for a wide range of applications. As the need for processing power continues to grow with advancements in AI, VR, and 3D graphics, the role of OpenCL in the scientific computing world becomes increasingly significant.

What is DeSci and Conda?

DeSci

DeSci (Decentralized Science) is a global movement to bring back the inherent nature of peer to peer science as it originally used to be throughout human history. For a few years, DeSci has been making a great comeback as a new novel alternative to science by primarily leveraging blockchain technology to revolutionize how scientific research is conducted and shared. Like NuNet, it has a broader mission that promotes open collaboration and transparency, and breaks down traditional barriers in information access and funding. This movement aims to democratize the scientific process, to foster a more inclusive and efficient ecosystem for global research and innovation.

Anaconda

Anaconda is a popular open-source distribution of Python and R programming languages, which are primarily used for scientific computing and data science. It simplifies package management and deployment, offering a large collection of pre-compiled packages for easy installation. Anaconda serves as a versatile platform that streamlines the development of machine learning models, large-scale data processing, and predictive analytics.

What does it bring to the NuNet platform?

The NuNet development team have been working on this issue with specific goals in mind to make the platform more versatile. The following features and functionalities are now available:

Conda Support for a flexible environment:

  • NuNet integrates with Conda, a powerful package management system, to offer a flexible environment that simplifies managing software dependencies. This integration would be particularly beneficial for users working with Python and R, as Conda is widely used in these communities for scientific computing. To ensure a fast and efficient way to retrieve and install scientific dependencies, NuNet uses Mamba, which is a drop-in replacement for installing Conda packages.

Streamlined Deployment of Scientific Computing and ML Projects:

  • The platform offers streamlined processes and tools for deploying scientific computing and machine learning projects. This includes intuitive interfaces for model deployment, efficient data pipelines, and comprehensive tools for managing and monitoring computations. These features significantly reduce the complexity and technical overhead typically associated with deploying and running advanced computational projects. As an example, NuNet has included the installation of the CellModeller multicellular modeling framework as well as deploying it to demonstrate these capabilities.

Enhanced security with dependency Scanning

  • Just like Pip based dependencies in TensorFlow and PyTorch, NuNet has implemented robust security measures, including thorough scanning of Conda dependencies for vulnerabilities. This proactive approach is critical in the decentralized environment of NuNet, ensuring the safety and integrity of applications and data distributed across various nodes. By regularly scanning and addressing potential security issues in software dependencies, NuNet provides a secure computing platform for its users.

Versatility through diverse Scientific Computing channels

  • Unlike traditional Anaconda environments, our NuNet containers go beyond the defaults channel and offers the retrieval and use of packages from a wide variety of of channels dedicated to scientific computing and artificial intelligence, among others:

These functionalities make NuNet a highly capable platform for users engaged or interested in complex scientific computing tasks, ensuring flexibility, ease of use, and security in a decentralized computing environment. The platform’s commitment to these areas reflects its dedication to supporting advanced computational needs in scientific and machine learning research, while prioritizing user experience and data security.

With the introduction of PyOpenCL containers with a real world example (CellModeller), end-users, developers and researchers across the globe now have the opportunity to discover how they can leverage NuNet for scientific computing. This offers a promising starting point for decentralized scientific research to grow and flourish the peer-to-peer way! In this manner, NuNet establishes a hallmark in the world of DeSci, and makes it possible to bridge academia and industry with this unique approach.

NuNet Is Hiring!

NuNet currently has a number of open positions for various roles within the team. If you have the skills and desire to join us in our journey, you can find more information and contact us through our career page.

About NuNet

NuNet lets anyone share and monetize their computing resources, turning cloud computing power from a centralized service into an open protocol powered by blockchain. Find out more via:

--

--