AMD veröffentlicht Preview-Versionen kommender Entwicklertools
AMD hat auf seiner Entwicklerseite Preview-Versionen der kommenden Entwicklertools Accelerated Parallel Processing (APP) Software Development Kit (SDK) 2.9, CodeXL 1.3 sowie Bolt 1.1 zum Download bereitgestellt. Außerdem wird interessierten Testern ein sogenannter “Friends-of-AMD”-Gutschein für die Teilnahme am AMD Developer Summit 2013 (APU13) in Aussicht gestellt, auf dem dann die neuen Versionen offiziell vorgestellt werden sollen. Jenen Gutschein sollen die ersten 100 Teilnehmer erhalten, welche die neuen Versionen der Tools getestet und anschließend einen Fragebogen ausgefüllt haben. Wie groß der Preisnachlass gegenüber dem Normalpreis von 695,- US-Dollar ausfällt, dazu schweigt sich AMD in seinem Blog-Post jedoch aus. Für Kurzentschlossene könnte sich ein Blick jedoch lohnen.
AMD APP SDK 2.9
Das AMD APP SDK ist AMDs Lösung zur Entwicklung parallelisierter Software auf Basis der OpenCL-Programmierplattform. Mit der Veröffentlichung neuer APP SDKs werden vor allem die Dokumentation auf den neuesten Stand gebracht und die Programmierbeispiele ergänzt bzw. überarbeitet. Zudem nutzt AMD die Gelegenheit, um neue Versionen seiner Tools zu veröffentlichen. Die OpenCL-Laufzeitumgebung liefert AMD mittlerweile als festen Bestandteil der Catalyst-Treiberpakete aus, sodass diese stetig weiterentwickelt wird.
AMD APP SDK v2.9 includes the following new features:
- Linux support for Bolt: As the next step toward broad cross-OS support, Bolt now adds support for Linux. Bolt can be built with GCC 4.6.3 and above, and will run on the following distributions: OpenSuse 12.3, RHEL 6.4 64-bit, RHEL 6.3 32-bit, and Ubuntu 13.
- Bolt: MultiCore code paths have been added for all the routines including the new routines. All the routines now support the OpenCL™, MultiCore CPU (TBB), and Serial paths. One new sample has been added to demonstrate the use of the features of Bolt 1.1. For information on the performance improvements, see 1.3, “Key features supported in Bolt 1.1”.
- OpenCV: AMD has been working closely with the OpenCV open source community to add heterogeneous acceleration capability to the world’s most popular computer vision library. These changes are already integrated into OpenCV and are readily available for developers who want to improve the performance and efficiency of their computer vision applications. The new samples illustrate these improvements and highlight how simple it is to include them in your application. For information on the latest OpenCV enhancements, see Harris’ blog.
- AMD APP SDK 2.9 also includes new OpenCL, Bolt 1.1, and OpenCV samples including:
- New OpenCL samples:
– DynamicOpenCLDetection: A sample that shows how to dynamically detect OpenCL platform availability on a machine and accordingly run either an OpenCL version or a sequential version of the application.
– KMeansAutoClustering: A sample that demonstrates the clustering of a given set of points into the most fitting number of clusters using the K‑means clustering algorithm and the Silhouette method.
– BufferImageInterOp: A sample that demonstrates the interoperability between an OpenCL Image object and the OpenCL buffer object.
– SimpleDX9: A sample that demonstrates the interoperability between an OpenCL buffer and a DirectX9 buffer.
– AsyncDataTransfer: A sample that demonstrates how to harness asynchronous memory transfer in OpenCL. The sample shows the overlap of kernel execution and data transfer in a device.
– ConcurrentKernels: A sample that demonstrates how to execute more than one kernel concurrently using multiple command queues.- New BOLT sample:
– PerlinNoise: A sample that implements the Perlin noise visual effect using Bolt. The sample generates noise similar to a cloud, which gets stored as a 2D Image.- New OpenCV sample:
– GestureRecognition: A sample that demonstrates gesture recognition using OpenNI libraries and the interoperability between OpenCV-CL and OpenNI. This sample works with .oni files and live feed from a 3D depth camera.- AMD APP SDK 2.9 includes support for the CMake build tool, which is popular among the developer community. For Windows, in addition to CMake, Visual Studio support is available.
- AMD APP SDK 2.9 includes the AMD SDK Sample Browser. The AMD SDK Sample Browser provides users with a unified GUI interface to browse through the various samples present in AMD’s SDKs and to access code, benchmarks, and documentation related to the samples. The AMD SDK Sample Browser allows users to run advanced searches, including full text searches, based on the SDK type, complexity, technology, and content of the samples.
- AMD APP SDK 2.9 also includes a component-based installer, which installs components based on the component selections made.
CodeXL 1.3
CodeXL ist eine Tool-Sammlung, die bei der Entwicklung von Software für heterogene Systeme bestehend aus CPUs und GPUs hilfreich sein soll. Hierzu stellt CodeXL Funktionen bereit, mit denen sich leichter Performanceprobleme und Programmierfehler ohne Modifikationen am Programmcode identifizieren lassen. Eine Anleitung sowie weitere Informationen lassen sich auf der Produktseite finden.
The following new features for AMD CodeXL version 1.3 expand platform support and provide
improvements to the developer experience:
- Remote GPU debugging and profiling to enable server and embedded customers.
- The CPU Profiler now supports Java inline functions, has a revised Source Code view for better navigation and usability, and contains a new profile session type for sampling Cache Line Utilization.
- Static OpenCL Kernel Analysis is now integrated into CodeXL application and Visual Studio extension, using a brand new user experience. The analysis module supports the Southern Islands and Sea Islands families of GPUs.
- THe debugger support was extended to the API, state variables and shader types of OpenGL up to and including OpenGL 4.3, and to the API of OpenCL 1.2.
Bolt 1.1
Die HSA Bolt library stellt optimierte Routinen für allerhand Standardanwendungsfälle bereit und soll dabei so angelegt sein, dass sie auf allen Systemen genutzt werden kann, die zur Heterogeneous System Architecture (HSA) kompatibel sind. Allgemein wurde laut AMD bei der Definition der einzelnen HSA-Komponenten großer Wert auf die Portabilität der hiermit erstellten Anwendungen gelegt, weshalb die Programmierung unabhängig von der Zielhardware erfolgen kann. Lediglich der HSA Finalizer und der HSA Kernel Driver sind herstellerspezifisch. Außerdem stellt die Bibliothek sicher, dass die Anwendung zumindest auf den CPU-Kernen läuft, wenn das jeweilige System die APIs C++ AMP oder OpenCL nicht unterstützt. Mit der Bereitstellung dieser Bibliothek möchte AMD die Komplexität und Entwicklungszeit reduzieren, sodass nicht länger ausschließlich wenige Experten heterogene Systeme programmieren können. C++-Entwickler sollen mit Hilfe dieser Bibliothek in der Lage sein, ihre datenparallelen Anwendungen zu beschleunigen, ohne genaue Kenntnisse über die Programmierung mit Hilfe von C++ AMP oder OpenCL haben zu müssen.
Zwischenzeitlich hat AMD den Bolt-Code veröffentlicht und treibt die Entwicklung als Open-Source-Projekt voran. Die wichtigste Neuerung in Bolt 1.1 dürfte die Unterstützung von Linux sein. Zuvor wurde ausschließlich Windows unterstützt. Außerdem sind einige Funktionen neu hinzugekommen und für bestehende will man die Performance um bis zu 400 % verbessert haben. In den Release Notes ist eine vollständige Liste sämtlicher derzeit unterstützen Funktionen zu finden.
Key features supported in Bolt 1.1
- Bolt functions can be executed with four code paths (OpenCL™, C++ AMP, MultiCore CPU (TBB), and Serial CPU). The default mode is “Automatic”: the GPU paths are first, then MultiCore CPU (TBB), then Serial CPU. The control goes to the other paths only if the selected path is not found. Forcing the mode to any code path will run the function with that code path. All Bolt functions have OpenCL™, MultiCore CPU(TBB), and Serial path implementations.
- The new functions are: binary_search, merge, scatter, scatter_if, gather, and gather_if.
- The following routines for the OpenCL path demonstrate a 40–300% improvement in
performance: (siehe Release Notes)- The following Bolt functions and code paths are supported for Bolt 1.1: (siehe Release Notes)
Die Downloads für die Preview-Versionen des APP SDK 2.9, CodeXL 1.3 sowie Bolt 1.1 sind auf dieser Seite zu finden und das Umfrageformular gibt es hier. Als Treiber, mit dem auch die aktuellste OpenCL-Laufzeitumgebung ausgeliefert wird, empfiehlt AMD den Catalyst 13.11 Beta.
Quelle: AMD — Entwickler-Blog
Links zum Thema:
- AMD Kaveri-APU: Leak bestätigt erneut Starttermin im ersten Quartal 2014 und benennt neue Features [Update] ()
- Details zu AMDs heterogener Verarbeitungsschlange ()
- AMD mit eigener Programmierschnittstelle auf den Spuren von 3DFX: Das Ende von DirectX? ()
- AMD präsentiert HSA-Details auf der Hot Chips 25 [Update] ()