Guide to Deploy GNU Octave on Akash

Introduction to GNU Octave

GNU Octave is an open-source, high-level programming language primarily used for numerical computations. It provides a convenient command-line interface for solving linear and nonlinear problems numerically and is highly compatible with MATLAB. GNU Octave is extensively used in scientific research, engineering, data analysis, and machine learning for its capabilities in matrix operations, algorithm development, and data visualization.

Features of GNU Octave:

  • Matrix Manipulation: Handle large-scale matrix computations.
  • Optimization: Perform optimization using built-in or third-party packages.
  • Simulation: Create simulations for scientific and engineering processes.
  • Toolboxes: Compatible with toolboxes for specialized functionality, such as MATPOWER for power system simulations.

In this guide, we’ll deploy GNU Octave on the Akash Network using the matpower/octave Docker image, which provides a complete GNU Octave environment with optimization packages like IPOPT, OSQP, SeDuMi, and SDPT3.


Prerequisites

  1. Akash CLI Installed: Ensure you have the Akash CLI installed and configured. Refer to the Akash Documentation for setup instructions.
  2. AKT Tokens: Ensure you have AKT tokens in your wallet for deployment.
  3. Account Setup: Your Akash account should be set up and ready to deploy workloads.

Steps to Deploy GNU Octave on Akash

1. Prepare the Deployment YAML

Below is an example of the deployment YAML file for running GNU Octave on Akash. This will deploy the matpower/octave Docker image.

---
version: "2.0"
services:
octave:
image: matpower/octave
expose:
- port: 8080
as: 80
to:
- global: true
profiles:
compute:
octave:
resources:
cpu:
units: 500m
memory:
size: 512Mi
storage:
size: 1Gi
placement:
akash:
attributes:
host: akash
pricing:
octave:
denom: uakt
amount: 1000
deployment:
octave:
profile:
compute: octave
placement: akash
count: 1

2. Deploy Using Akash CLI

  1. Save the above YAML configuration to a file, e.g., deploy.yaml.
  2. Run the following commands in your terminal:
Terminal window
provider-services tx deployment create deploy.yaml --from <your-wallet-name> --chain-id <akash-chain-id>

Replace <your-wallet-name> and <akash-chain-id> with your Akash wallet name and chain ID.

  1. After the deployment is submitted, check the status:
Terminal window
provider-services query market lease list --owner <your-wallet-address>
  1. Once the lease is established, retrieve the access URL for your deployment:
Terminal window
provider-services provider lease-status --dseq <deployment-sequence-id> --owner <your-wallet-address>

3. Access GNU Octave

After deployment, the matpower/octave environment will be accessible via the assigned IP or domain at the specified port (default: 80).

4. Run GNU Octave Commands

Access the container to use GNU Octave directly:

  1. SSH into the running container (using the provider-assigned access).
  2. Launch the Octave CLI by executing:
Terminal window
octave

Alternatively, modify the deployment to include a persistent storage volume if you wish to save your computations or scripts.


Advanced Configuration

  • Add Persistent Storage: Update the YAML to include persistent storage to save scripts and data.
  • Scaling: Adjust the count parameter in the deployment section to scale your environment.
  • Expose Additional Ports: Modify the expose section to open other ports for services like a web interface.

Conclusion

This deployment guide helps you run a complete GNU Octave environment on Akash Network using the matpower/octave image. By leveraging Akash’s decentralized cloud, you can take advantage of low-cost, scalable computing for your numerical and scientific needs.

footer-logo-dark

© Akash Network 2025 The Akash Network Authors Documentation Distributed under CC BY 4.0

Open-source Apache 2.0 Licensed.

GitHub v0.38.2

Privacy