Virtualization-Emulation-Guide
Virtualization/Emulation Guide
https://github.com/mikeroyal/Virtualization-Emulation-Guide
Last synced: 3 days ago
JSON representation
-
C/C++ Learning Resources
-
Interfaces
- C++ - platform language that can be used to build high-performance applications developed by Bjarne Stroustrup, as an extension to the C language.
- C - purpose, high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell Labs. It supports structured programming, lexical variable scope, and recursion, with a static type system. C also provides constructs that map efficiently to typical machine instructions, which makes it one was of the most widely used programming languages today.
- Embedded C - committee) to address issues that exist between C extensions for different [embedded systems](https://en.wikipedia.org/wiki/Embedded_system). The extensions hep enhance microprocessor features such as fixed-point arithmetic, multiple distinct memory banks, and basic I/O operations. This makes Embedded C the most popular embedded software language in the world.
- C & C++ Developer Tools from JetBrains
- Open source C++ libraries on cppreference.com
- C++ Graphics libraries
- C++ Libraries in MATLAB
- C++ Tools and Libraries Articles
- Google C++ Style Guide
- Introduction C++ Education course on Google Developers
- C++ style guide for Fuchsia
- Chromium C++ Style Guide
- C++ Core Guidelines
- C++ Style Guide for ROS
- Learn C++
- Learn C : An Interactive C Tutorial
- C++ Online Training Courses on LinkedIn Learning
- C++ Tutorials on W3Schools
- Learn C Programming Online Courses on edX
- Learn C++ with Online Courses on edX
- Learn C++ on Codecademy
- Coding for Everyone: C and C++ course on Coursera
- C++ For C Programmers on Coursera
- Top C Courses on Coursera
- C++ Online Courses on Udemy
- Top C Courses on Udemy
- Basics of Embedded C Programming for Beginners on Udemy
- C++ For Programmers Course on Udacity
- C++ Fundamentals Course on Pluralsight
- Introduction to C++ on MIT Free Online Course Materials
- Introduction to C++ for Programmers | Harvard
- Online C Courses | Harvard University
- C++ - platform language that can be used to build high-performance applications developed by Bjarne Stroustrup, as an extension to the C language.
- C++ Tools and Libraries Articles
- C++ Style Guide for ROS
-
-
C/C++ Tools, Libraries and Frameworks
-
Interfaces
- AWS SDK for C++
- Visual Studio Code
- ReSharper C++
- 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.
- Oat++ - efficient web application. It's zero-dependency and easy-portable.
- Cython
- Infer - C, and C. Infer is written in [OCaml](https://ocaml.org/).
- Azure SDK for C++
- Azure SDK for C
- C++ Client Libraries for Google Cloud Services
- Vcpkg
- CppSharp
- JavaCPP
- Spdlog - only/compiled, C++ logging library.
-
-
C# Learning Resources
-
Interfaces
- C# - oriented programming language developed by Microsoft to write any application using the C# programming language on the .NET platform.
- Taking your first steps with C#
- Learning C#
- C# development with Visual Studio
- C# programming with Visual Studio Code
- Working with data in C#
- C# Tutorial by W3Schools
- Windows Forms for .NET 5 and .NET Core 3.1
- Advanced Topics in C# by Udemy
- The complete C# tutorial
- Unity C# Survival Guide
- RabbitMQ .NET/C# Client API
- C# - oriented programming language developed by Microsoft to write any application using the C# programming language on the .NET platform.
- C# development with Visual Studio
- C# Tutorial by W3Schools
- Learning C#
-
-
C# Tools, Libraries and Frameworks
-
Interfaces
- 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.
- ANTLR (ANother Tool for Language Recognition)
- Mono
- Roslyn
- Uno Platform - based code (C# and XAML) to run on iOS, Android, macOS, WebAssembly, Linux and Windows 7. It provides the full definitions of the UWP [Windows 10 2004 (19041)](https://docs.microsoft.com/en-us/windows/uwp/whats-new/windows-10-build-19041), and the implementation of a growing number of parts of the UWP API, such as Windows.UI.Xaml, to enable UWP and WinUI applications to run on these platforms.
- Rider - platform .NET IDE devloped by JetBrains to develop .NET, ASP.NET, .NET Core, Xamarin; or Unity applications for Windows, Mac, Linux.
- Resharper - the-fly code quality analysis for C#, VB.NET, XAML, ASP.NET, ASP.NET MVC, JavaScript, TypeScript, CSS, HTML, and XML. Letting you know right away if your code needs to be improved.
- dotPeek
- dotTrace
- dotMemory
- dotCover - the-fly which unit tests are affected by your latest code changes, and automatically re-runs the affected tests for you. The continuous testing mode can be switched on for any unit test session.
- Json.NET - performance JSON framework for .NET.
- .NET Fiddle
- Octopus Deploy
- Appveyor - based continuous integration system that integrates natively with your source control and allows CI configuration files to live alongside your projects.
- AppHarbor - as-a-Service that let's developers deploy and scale any standard .NET application to the cloud.
- MSBuild
- Bot Framework - source, visual authoring canvas for developers and multi-disciplinary teams to design and build conversational experiences with Language.
- Quasar - weight remote administration tool coded in C#. The usage ranges from user support through day-to-day administrative work to employee monitoring. Providing high stability and an easy-to-use user interface, Quasar is the perfect remote administration solution for you.
- CodeMaid
- AutoRest - Specification) format. It Supports C#, PowerShell, Go, Java, Node.js, TypeScript, Python, Ruby.
- Markdig
- AppHarbor - as-a-Service that let's developers deploy and scale any standard .NET application to the cloud.
- Roslyn
-
-
CUDA Learning Resources
-
Interfaces
- CUDA - accelerated applications, the sequential part of the workload runs on the CPU, which is optimized for single-threaded. The compute intensive portion of the application runs on thousands of GPU cores in parallel. When using CUDA, developers can program in popular languages such as C, C++, Fortran, Python and MATLAB.
- CUDA Toolkit Documentation
- CUDA Quick Start Guide
- CUDA on WSL
- CUDA GPU support for TensorFlow
- NVIDIA Deep Learning cuDNN Documentation
- NVIDIA NGC - optimized software for deep learning, machine learning, and high-performance computing (HPC) workloads.
- NVIDIA NGC Containers - accelerated software for AI, machine learning and HPC. These containers take full advantage of NVIDIA GPUs on-premises and in the cloud.
- CUDA GPU support for TensorFlow
-
-
CUDA Tools Libraries, and Frameworks
-
Interfaces
- CUDA Toolkit - accelerated applications. The CUDA Toolkit allows you can develop, optimize, and deploy your applications on GPU-accelerated embedded systems, desktop workstations, enterprise data centers, cloud-based platforms and HPC supercomputers. The toolkit includes GPU-accelerated libraries, debugging and optimization tools, a C/C++ compiler, and a runtime library to build and deploy your application on major architectures including x86, Arm and POWER.
- NVIDIA cuDNN - accelerated library of primitives for [deep neural networks](https://developer.nvidia.com/deep-learning). cuDNN provides highly tuned implementations for standard routines such as forward and backward convolution, pooling, normalization, and activation layers. cuDNN accelerates widely used deep learning frameworks, including [Caffe2](https://caffe2.ai/), [Chainer](https://chainer.org/), [Keras](https://keras.io/), [MATLAB](https://www.mathworks.com/solutions/deep-learning.html), [MxNet](https://mxnet.incubator.apache.org/), [PyTorch](https://pytorch.org/), and [TensorFlow](https://www.tensorflow.org/).
- CUDA-X HPC - X HPC includes highly tuned kernels essential for high-performance computing (HPC).
- Chainer - based deep learning framework aiming at flexibility. It provides automatic differentiation APIs based on the define-by-run approach (dynamic computational graphs) as well as object-oriented high-level APIs to build and train neural networks. It also supports CUDA/cuDNN using [CuPy](https://github.com/cupy/cupy) for high performance training and inference.
- CuPy - compatible multi-dimensional array on CUDA. CuPy consists of the core multi-dimensional array class, cupy.ndarray, and many functions on it. It supports a subset of numpy.ndarray interface.
- CatBoost
- cuDF - like API that will be familiar to data engineers & data scientists, so they can use it to easily accelerate their workflows without going into the details of CUDA programming.
- ArrayFire - purpose library that simplifies the process of developing software that targets parallel and massively-parallel architectures including CPUs, GPUs, and other hardware acceleration devices.
- AresDB - powered real-time analytics storage and query engine. It features low query latency, high data freshness and highly efficient in-memory and on disk storage management.
- NVIDIA Container Toolkit - container) and utilities to automatically configure containers to leverage NVIDIA GPUs.
- CUTLASS - performance matrix-multiplication (GEMM) at all levels and scales within CUDA. It incorporates strategies for hierarchical decomposition and data movement similar to those used to implement cuBLAS.
- CUB
- Tensorman
- Numba - aware optimizing compiler for Python sponsored by Anaconda, Inc. It uses the LLVM compiler project to generate machine code from Python syntax. Numba can compile a large subset of numerically-focused Python, including many NumPy functions. Additionally, Numba has support for automatic parallelization of loops, generation of GPU-accelerated code, and creation of ufuncs and C callbacks.
- cuML - learn.
- Thrust - level interface greatly enhances programmer productivity while enabling performance portability between GPUs and multicore CPUs.
- Arraymancer - dimensional array) project in Nim. The main focus is providing a fast and ergonomic CPU, Cuda and OpenCL ndarray library on which to build a scientific computing ecosystem.
- Kintinuous - time dense visual SLAM system capable of producing high quality globally consistent point and mesh reconstructions over hundreds of metres in real-time with only a low-cost commodity RGB-D sensor.
-
-
Docker Learning Resources
-
Docker Tools
-
Interfaces
- Open Container Initiative
- Buildah
- Podman
- Docker
- Docker Enterprise - center/company-news/mirantis-acquires-docker-enterprise/).
- Docker Desktop
- Docker Hub - source projects, and the community.
- Docker Compose - container applications. With Docker Compose, you can create a YAML file to define the services and with a single command, can spin everything up or tear it all down.
- Docker Swarm - native clustering system swarm is a simple tool which controls a cluster of Docker hosts and exposes it as a single "virtual" host.
- Dockerfile - line instructions in succession.
- Docker Containers
- Docker Engine
- Docker Network
- Docker Daemon
- Docker Storage
- Kitematic
- Docker Desktop
- Docker Containers
-
-
FPGA Learning Resources
-
Interfaces
- FPGA(Field Programmable Gate Arrays)
- TinyFPGA - cost, [open source FPGA boards](https://github.com/tinyfpga) in a tiny form factor.
- FPGA & SoC Design Tools from Microsemi
- FPGA Fundamentals from NI(National Instruments)
- Getting Started With LabVIEW FPGA from NI(National Instruments)
- Programming and FPGA Basics - INTEL® FPGAS
- Intel FPGA Training Program
- FPGA Courses on Coursera
- FPGA Courses on Udemy
- FPGA Online Training Courses on LinkedIn Learning
- UMass Lowell's Graduate Certificate in Field Programmable Gate Arrays(FPGA)
- FPGAs & SoCs Training from Microsemi
- DSP fundamentals for FPGAs course from MATLAB and Simulink Training
- SiFive FPGA shells
- Programming and FPGA Basics - INTEL® FPGAS
- DSP fundamentals for FPGAs course from MATLAB and Simulink Training
- Intel FPGA Training Program
- FPGA Design Fundamentals Course (UC San Diego Extension)
- FPGA II Course (UC San Diego Extension)
-
-
FPGA Tools
-
Interfaces
- LabVIEW FPGA - on for LabVIEW that you can use to more efficiently and effectively design FPGA-based systems through a highly integrated development environment, IP libraries, a high-fidelity simulator, and debugging features.
- 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).
- TinyGo - line tools.
- Chipyard - based systems-on-chip. It will allow you to leverage the Chisel HDL, Rocket Chip SoC generator, and other [Berkeley](https://berkeley.edu/) 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.
- Apio - built packages, project configuration tools and easy command interface to verify, synthesize, simulate and upload your verilog designs.
- IceStorm
- 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.
- Tock - M and RISC-V based embedded platforms. Tock's design centers around protection, both from potentially malicious applications and from device drivers.
- OpenTimer - Performance Timing Analysis Tool for VLSI Systems.
- 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](https://www.qemu.org/).
- Keystone - platform, multi-architecture(Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) assembler framework.
- Reko
- LLVM - end(parser and lexer) and a back-end (code that converts LLVM's representation to actual machine code).
-
-
Go Learning Resources
Categories
Kubernetes Learning Resources
36
C/C++ Learning Resources
35
MATLAB Tools, Libraries, Frameworks
35
Kubernetes Tools, Frameworks, and Projects
33
C/C++ Tools, Libraries and Frameworks
29
Python Frameworks and Tools
29
Java Tools, Libraries, and Frameworks
27
C# Tools, Libraries and Frameworks
24
Swift Learning Resources
22
Network Learning Resources
20
Swift Tools and Frameworks
20
Go Tools and Frameworks
20
Rust Tools, Libraries, and Frameworks
20
FPGA Learning Resources
19
FPGA Tools
19
Docker Tools
18
MATLAB Learning Resources
18
CUDA Tools Libraries, and Frameworks
18
C# Learning Resources
16
Python Learning Resources
15
Java Learning Resources
13
Verilog/SystemVerilog Learning Resources
12
Go Learning Resources
12
Networking Tools & Concepts
11
Verilog/SystemVerilog Tools
10
Docker Learning Resources
9
CUDA Learning Resources
9
Rust Learning Resources
7
Models of FPGA Boards
4
Network Protocols
4
Rust-based Operating Systems
2
License
1
Sub Categories
Keywords
python
18
golang
17
go
13
rust
11
java
9
swift
8
cuda
8
cpp
8
http
7
cli
6
dotnet
5
deep-learning
5
gpu
5
curl
5
web
4
package-manager
4
fpga
4
framework
4
visual-studio
4
verilog
4
arm
4
security
4
kubernetes
4
machine-learning
4
nvidia
4
carthage
4
azure
3
x86-64
3
x86
3
ios
3
csharp
3
cxx14
3
cpp17
3
xcode
3
devops
3
web-framework
3
matlab
3
docker
3
reverse-engineering
3
cpp14
3
android
3
c
3
c-sharp
3
cpp11
3
eda
2
kotlin
2
design-patterns
2
k8s
2
visualization
2
iot
2