An open API service indexing awesome lists of open source software.

ARM-Guide

ARM Guide
https://github.com/mikeroyal/ARM-Guide

Last synced: 4 days ago
JSON representation

C/C++ Learning Resources

C/C++ Tools

  • Visual Studio - rich application that can be used for many aspects of software development. Visual Studio makes it easy to edit, debug, build, and publish your app. By using Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, and Windows Store.
  • Visual Studio Code
  • ReSharper C++
  • AppCode - fixes to resolve them automatically. AppCode provides lots of code inspections for Objective-C, Swift, C/C++, and a number of code inspections for other supported languages. All code inspections are run on the fly.
  • CLion - platform IDE for C and C++ developers developed by JetBrains.
  • Code::Blocks
  • Conan
  • High Performance Computing (HPC) SDK
  • Boost - edge C++. Boost has been a participant in the annual Google Summer of Code since 2007, in which students develop their skills by working on Boost Library development.
  • Automake
  • Cmake - source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice.
  • GDB
  • GCC - C, Fortran, Ada, Go, and D, as well as libraries for these languages.
  • GSL - squares fitting. There are over 1000 functions in total with an extensive test suite.
  • OpenGL Extension Wrangler Library (GLEW) - platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform.
  • Libtool
  • Maven
  • TAU (Tuning And Analysis Utilities) - based sampling. All C++ language features are supported including templates and namespaces.
  • Clang - C, C++ and Objective-C++ compiler when targeting X86-32, X86-64, and ARM (other targets may have caveats, but are usually easy to fix). Clang is used in production to build performance-critical software like Google Chrome or Firefox.
  • OpenCV - time applications. Cross-Platform C++, Python and Java interfaces support Linux, MacOS, Windows, iOS, and Android.
  • ANTLR (ANother Tool for Language Recognition)
  • Oat++ - efficient web application. It's zero-dependency and easy-portable.
  • Cython
  • Infer - C, and C. Infer is written in OCaml.
  • Vcpkg
  • CppSharp
  • Thrust - level interface greatly enhances programmer productivity while enabling performance portability between GPUs and multicore CPUs. Interoperability with established technologies such as CUDA, TBB, and OpenMP integrates with existing software.
  • JavaCPP
  • Spdlog - only/compiled, C++ logging library.

Containers

  • Kubernetes - source container-orchestration system for automating application deployment, scaling, and management. It was originally designed by Google, and is now maintained by the Cloud Native Computing Foundation.
  • Rook - native storage orchestrator for Kubernetes that turns distributed storage systems into self-managing, self-scaling, self-healing storage services. It automates the tasks of a storage administrator: deployment, bootstrapping, configuration, provisioning, scaling, upgrading, migration, disaster recovery, monitoring, and resource management.
  • Open Container Initiative
  • Docker - level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. All containers are run by a single operating-system kernel and are thus more lightweight than virtual machines.
  • Buildah
  • Podman
  • Containerd - level storage to network attachments and beyond. It is available for Linux and Windows.

FPGA Learning Resources

FPGA Tools

  • LLVM - end(parser and lexer) and a back-end (code that converts LLVM's representation to actual machine code).
  • TinyGo - line tools.
  • Chipyard - based systems-on-chip. It will allow you to leverage the Chisel HDL, Rocket Chip SoC generator, and other Berkeley projects to produce a RISC-V SoC with everything from MMIO-mapped peripherals to custom accelerators.
  • Renode
  • Diosix - metal hypervisor written in Rust for RISC-V.
  • FuseSoC - winning package manager and a set of build tools for HDL (Hardware Description Language) code and FPGA/ASIC development.
  • OpenWiFi - source IEEE802.11/Wi-Fi baseband chip/FPGA design.
  • PipeCNN - based FPGA Accelerator for Large-Scale Convolutional Neural Networks (CNNs). Currently, there is a growing trend among developers in the FPGA community to utilize High Level Synthesis (HLS) tools to design and implement customized circuits on FPGAs.
  • The Eclipse Embedded CDT - ins for Arm & RISC-V C/C++ developers.
  • Unicorn - platform, multi-architecture CPU emulator framework(ARM, AArch64, M68K, Mips, Sparc, X86) based on QEMU.
  • Keystone - platform, multi-architecture(Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) assembler framework.
  • Reko
  • Tock - M and RISC-V based embedded platforms. Tock's design centers around protection, both from potentially malicious applications and from device drivers.
  • LLVM - end(parser and lexer) and a back-end (code that converts LLVM's representation to actual machine code).

Java Learning Resources

Kubernetes Learning Resources

ML frameworks & applications

  • Scikit-Learn
  • Amazon SageMaker
  • Open Neural Network Exchange(ONNX) - in operators and standard data types.
  • Anaconda
  • Jupyter Notebook - source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Jupyter is used widely in industries that do data cleaning and transformation, numerical simulation, statistical modeling, data visualization, data science, and machine learning.
  • Azure Databricks - based big data analytics service designed for data science and data engineering. Azure Databricks, sets up your Apache Spark environment in minutes, autoscale, and collaborate on shared projects in an interactive workspace. Azure Databricks supports Python, Scala, R, Java, and SQL, as well as data science frameworks and libraries including TensorFlow, PyTorch, and scikit-learn.
  • PlaidML
  • OpenCV - time computer vision applications. The C++, Python, and Java interfaces support Linux, MacOS, Windows, iOS, and Android.
  • Theano - dimensional arrays efficiently including tight integration with NumPy.
  • nGraph - of-use to AI developers.
  • AutoGluon - accuracy deep learning models on tabular, image, and text data.
  • TensorFlow Lite - device machine learning inference with low latency and a small binary size.
  • Weka - in tools for standard machine learning tasks, and additionally gives transparent access to well-known toolboxes such as scikit-learn, R, and Deeplearning4j.

Models of FPGA Boards

Networking Learning Resources

Online ML Learning Resources

Operating System

  • Rust on Chrome OS
  • Kubernetes.io
  • Amazon EKS
  • AWS Controllers for Kubernetes (ACK) - available Kubernetes applications that utilize AWS services.
  • Odo
  • Thanos
  • Kubespray - sigs/kubespray/blob/master/docs/aws.md), GCE, Azure, OpenStack, vSphere, Packet (bare metal), Oracle Cloud Infrastructure (Experimental), or Baremetal.
  • Helm
  • Knative - based platform to build, deploy, and manage modern serverless workloads. Knative takes care of the operational overhead details of networking, autoscaling (even to zero), and revision tracking.
  • KubeFlow
  • Etcd - value store that provides a reliable way to store data that needs to be accessed by a distributed system or cluster of machines. Etcd is used as the backend for service discovery and stores cluster state and configuration for Kubernetes.
  • OpenEBS - based tool to create stateful applications using Container Attached Storage.
  • Container Storage Interface (CSI) - in.
  • MicroK8s - the-air updates for ultra-reliable operations. It is supported on Linux, Windows, and MacOS.
  • Lens
  • kind
  • Flux CD
  • Container Engine for Kubernetes (OKE) - managed container orchestration service that can reduce the time and cost to build modern cloud native applications. Unlike most other vendors, Oracle Cloud Infrastructure provides Container Engine for Kubernetes as a free service that runs on higher-performance, lower-cost compute.
  • OKD - tenant deployment. OKD adds developer and operations-centric tools on top of Kubernetes to enable rapid application development, easy deployment and scaling, and long-term lifecycle maintenance for small and large teams.
  • Bottlerocket OS - source Linux-based operating system meant for hosting containers. Bottlerocket focuses on security and maintainability, providing a reliable, consistent, and safe platform for container-based workloads.
  • Azure Kubernetes Service (AKS) - grade security and governance. Unite your development and operations teams on a single platform to rapidly build, deliver, and scale applications with confidence.
  • Kata Operator
  • OpenShift Hive
  • VMware Tanzu
  • KubeInit
  • Rancher
  • K3s - constrained, remote locations or inside IoT appliances.
  • Grafana Kubernetes App
  • Anthos - premises environments.
  • Charmed Kubernetes - key, conformant Kubernetes platform, optimized for your multi-cloud environments developed by Canonical.
  • Container Engine for Kubernetes (OKE) - managed container orchestration service that can reduce the time and cost to build modern cloud native applications. Unlike most other vendors, Oracle Cloud Infrastructure provides Container Engine for Kubernetes as a free service that runs on higher-performance, lower-cost compute.
  • Red Hat Openshift - premises, hybrid, and multicloud deployments.

Protocols

  • OAuth 2.0 - party applications to access the user account.

Python Frameworks and Tools