Tools and technologies to enhance the open source ecosystem

AMD has a long-standing track record of collaboration with open software development communities and continues to support the open source ecosystem. In addition to providing innovative advances in computing platforms, AMD has teams dedicated to building or enhancing open source tools and technologies to help software developers code faster for faster code. Browse the links below to find the open source tools and information you need.

Tools

Aparapi – an API for expressing data parallel workloads in Java™

Code Sleuth Profiler – an Eclipse plug-in that allows developers to access performance counters and relate them back to Java source.

Gnu Projects – help developers using GCC best leverage today’s architectures and future-proof current software products

OpenCL™ Emulator-Debugger (ocl-emu) – allows developers to compile and debug OpenCL kernels as C++ procedures

OpenCL™ Compiler Tools – is a powerful, yet compact, suite of tools that provides developers with more alternatives to kernel compilation.

OpenCL-Toolbox is an open source toolkit that provides seamless integration of Matlab with OpenCL™.

OProfile – a system-wide profiler for Linux systems.

Par4All – is an automatic parallelizing and optimizing compiler (workbench) for C and Fortran sequential programs.

Perfmon2 – a hardware-based performance monitoring interface for Linux

QEMU – is the user-space component for Linux’s KVM hypervisor

Xen™ Virtual Machine Monitor – AMD supports and maintains both the base hypervisor (running on bare metal AMD hardware) and its SVM-using component.

x86info – is a CPU identification utility for Linux.

XML RPC – a Remote Procedure Calling protocol that works over the Internet.

XvBA SDK and Tools – AMD’s video acceleration API for Linux. It allows Linux applications to take advantage of the UVD engine in AMD GPUs to accelerate video decoding. The SDK contains the header file and XvBA Specification. The Tools is a library and small suite of tools for demonstrating use of XvBA.

Libraries

Barracuda – an OpenCL™ library for Ruby that supports signed integers and floats

Bolt C++ – provides an STL compatible library for creating accelerated data parallel applications

CL4D – an object-oriented wrapper for the OpenCL™ C API written in the D programming language

clMath – OpenCL™ software libraries containing FFT and BLAS functionalities

Clpp – is an OpenCL Data Parallel Primitives Library.

Clogs – a library for higher-level operations on top of the OpenCL™ C++ API

Cloo – easy to use, managed library that enables .NET/Mono applications to take full advantage of the OpenCL™ framework

FFMPEG – a cross-platform audio & video solution. AMD teams have added OpenCL™ support and accelerated deshake & unsharp video filters

Libclc – BSD/MIT dual licensed implementation of the library requirements of the OpenCL C programming language

OCL-Radix-Sort – is a C++ class for sorting integer lists in OpenCL

PARALUTION – is a sparse linear algebra library with OpenCL™ support that has a rich collection of iterative solvers and preconditioners.

SnuCL – is an OpenCL framework that extends the original OpenCL semantics to the heterogeneous cluster environment.

StarPU – a task programming library for CPU/GPU hybrid architectures

VexCL – a vector expression template library for OpenCL

Languages

CLU Compiler – a lightweight API designed to help programmers explore, learn, and rapidly prototype programs with OpenCL™

CLyther – a just-in-time specialization engine that makes it easy for Python developers to take advantage of OpenCL

FortranCL – an OpenCL™ interface for Fortran 90 that allows programmers to call the OpenCL™ parallel programming framework directly from Fortran

JavaCL – an API that wraps the OpenCL library to make it available to the Java platform.

OpenCL .Net provides bindings to the OpenCL™ API that mirror the OpenCL™ 1.1 spec as closely as possible, and adds a higher level abstraction of the API that’s more .Net-like

OpenJDK – building performance advantages directly into Java tools and environments

Portable Computing Language (pocl) – aims to become an open source implementation of the OpenCL™ standard, easily adapted for new targets, improving performance portability

PyOpenCL – lets you access GPUs and other massively parallel compute devices from Python.

ScalaCL – lets programmers run Scala code on GPUs

WebCL for Firefox – exposes OpenCL into JavaScript, allowing web developers to tap into the parallel computing resources of modern GPUs, CPUs, and APUs

WebCL for WebKit – is an activity in Khronos that is defining JavaScript bindings to OpenCL.

x86Open64 Compiler – a high performance code generation tool designed for high performance parallel computing workloads

Applications

ImageMagick – an open source software suite that allows you to create, edit, compose, or convert bitmap images

Blender – an open source 3D animation suite. It supports the entirety of the 3D pipeline

GIMP – GNU Image Manipulation Program is open source software for such tasks as photo retouching, image composition and image authoring

OTOO – a performance optimized particle simulation code. Its main application is astrophysical simulations such as N-body models and the evolution of a violent merger of stars

RLIPS – (R Linear Inverse Problem Solver) is an R package for solving large overdetermined (stochastic) linear inverse problems. RLIPS transforms the original linear system into a simple upper triangular one by using Givens rotations.

Operating Systems

AMD is a long-time contributor to a number of Open Source Operating System repositories, including:

Linux Kernel – AMD contributes to the core Linux Kernel by providing enablement for AMD processors

Ubuntu – a complete open source Debian-based desktop Linux operating system, available with both community and professional support. Ubuntu App Platform APIs are implemented in both QML and HTML5 platforms.

GNU – an open source Unix-like operating system. AMD recognizes that the GNU toolchain plays a critical part in the software development ecosystem, and therefore has been actively contributing to its evolution for over a decade.

Minix3 – an open-source operating system designed to be highly reliable, flexible and secure.

FreeBSD – an advanced open source computer operating system used to power modern servers, desktops and embedded platforms. Some of the current FreeBSD application projects include: Java® on FreeBSD, GNOME on FreeBSD, OpenOffice.org on Free BSD and KDE on FreeBSD

Blogs, Articles & Other Resources

Industry experts share their insights about Open Source in these blog posts, articles and other resources.

Bolt Open Sourced to make Compute acceleration easy to use, cross platform and future proof (blog)

OpenCL™: A Nimble, Extendable Open Standard (blog)

Open Source H.265/HEVC Video Encoder (APU13 tech presentation)

The Open Source Initiative – The global non-profit standards body organization formed to educate about and advocate for the benefits of open source that maintains the Open Source Definition (OSD).

Security and quality top companies’ reasons for using open source (PC World, 2014)

10 Reasons Open Source Is Good for Business (PC World, 2010)