rockyml

⛰️ RockyML - A High-Performance Scientific Computing Framework for Non-smooth Machine Learning Problems

https://github.com/amirabbasasadi/rockyml

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.9%) to scientific vocabulary

Keywords

cplusplus cpp deep-learning deep-neural-networks distributed-computing high-performance machine-learning mpi optimization parallel-computing scientific-computing
Last synced: 6 months ago · JSON representation ·

Repository

⛰️ RockyML - A High-Performance Scientific Computing Framework for Non-smooth Machine Learning Problems

Basic Info
Statistics
  • Stars: 19
  • Watchers: 1
  • Forks: 2
  • Open Issues: 0
  • Releases: 1
Topics
cplusplus cpp deep-learning deep-neural-networks distributed-computing high-performance machine-learning mpi optimization parallel-computing scientific-computing
Created about 3 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License Citation

README.md

DOI



📔 Documentation : amirabbasasadi.github.io/RockyML

Tutorials

Zagros Tutorials

Components

Zagros

Design Goals: - Providing a language called Dena for designing arbitrary complex optimizers by combining - Modular and parallel search strategies: Genetic, PSO, EDA, ... - Communication strategies for distributed optimization on top of MPI - Analyzer strategies for analyzing objective functions - Blocking strategies for block optimization - Logging strategies for tracking optimization experiments on local system or a remote server - Hybrid parallelism: multi-threading in each node and message passing across nodes (MPI) - ‌Block optimization for using memory-intensive optimizers for large number of variables

```cpp

include

include

include

using namespace rocky::zagros; using namespace rocky::zagros::dena;

int main(int argc, char* argv[]){ MPI_Init(&argc, &argv);

// define the optimization problem
const int dim = 100;
benchmark::rastrigin<float> problem(dim);

// recording the result of optimization
local_log_handler log_handler("result.csv");

// define the optimizer
auto optimizer = container::create("A", 300)
                >> init::uniform("A") 
                >> run::n_times(500,
                        mutate::gaussian("A")
                        >> run::with_probability(0.2,
                            crossover::differential_evolution("A")
                        )
                        >> log::local::best("A", log_handler)
                    );

// create a runtime for executing the optimizer 
basic_runtime<float, dim> runtime(&problem);
runtime.run(optimizer);

MPI_Finalize();
return 0;

} ```

Etna (Work in progress)

Building blocks for designing non-differentiable neural networks

  • Fast, low overhead, and thread-safe
  • Various components:
    • Standard deep learning layers
    • Discrete and integer layers
    • Combinatorial layers
    • Stochastic layers
    • Dynamic layers

About

Publications

If you use RockyML in your research, please cite it as follows: bib @software{RockyML, author = {Asadi, Amirabbas}, doi = {10.5281/zenodo.7612838}, month = {2}, title = {{RockyML, A Scientific Computing Framework for Non-smooth Machine Learning Problems}}, url = {https://github.com/amirabbasasadi/RockyML}, year = {2023} }

Owner

  • Name: Amirabbas Asadi
  • Login: amirabbasasadi
  • Kind: user
  • Location: Iran

Independent AI Researcher

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software in your research, please cite it as below."
authors:
- family-names: "Asadi"
  given-names: "Amirabbas"
  orcid: "https://orcid.org/0000-0002-7421-1420"
title: "RockyML, A Scientific Computing Framework for Non-smooth Machine Learning Problems"
version: 0.0.1
doi: 10.5281/zenodo.7612838
date-released: 2023-02-04
url: "https://github.com/amirabbasasadi/RockyML"

GitHub Events

Total
  • Watch event: 3
Last Year
  • Watch event: 3

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 214
  • Total Committers: 1
  • Avg Commits per committer: 214.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Amirabbas Asadi a****5@g****m 214

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/ctest.yml actions
  • actions/checkout v3 composite
.github/workflows/documentation.yml actions
  • actions/checkout v3 composite
  • mattnotmitt/doxygen-action 1.9.5 composite
  • stefanzweifel/git-auto-commit-action v4 composite