Author Archives: Georgios Keramidas

Another milestone for GLOVE™ has been achieved! Android™ support is a reality!

GLOVE™ (GL Over Vulkan®), a cross-platform software library that acts as an intermediate layer between an OpenGL® ES application and Vulkan and optimized by the LPGPU2 Profiler tool, now supports Android. GLOVE™ is focused towards embedded systems and is comprised of OpenGL ES and EGL® implementations, which translate at runtime all OpenGL ES / EGL calls & ESSL shaders to Vulkan commands & SPIR-V shader respectively and finally relays them to the underlying Vulkan driver. GLOVE™ has been designed towards facilitating developers to easily build and integrate new features, allowing at the same time its further extension, portability and interoperability. Initially, GLOVE™ supported OpenGL ES and EGL® on Linux and now it is further extended to support Android as well; however, its modular design can be easily extended to encompass implementations of other client APIs as well. GLOVE™ is considered as a work-in-progress and is open-sourced under the LGPL v3 license through which it is provided as free software with unlimited use for educational and research purposes. Future planned extensions of GLOVE™ include the support for OpenGL ES 3.x and OpenGL applications.

GLOVE™ is available for download from https://github.com/Think-Silicon/GLOVE. Please follow the link to view our demo and try it out on your phones by following the guidelines. We are thrilled to have your feedback!

LPGPU2 becomes even smarter

New metrics to identify Regions of Interests are added

Think Silicon developed new ways to identify potential Regions of Interests (RoIs) and make the feedback engine of LPGPU2 tool more effective. Through the new functionalities of the LPGPU2 tool, it is now possible to identify RoIs based on the average value of either a hardware counter or a software performance counter within a frame. The user defines the desired threshold, which is then compared with the average value of the selected counter for each frame. This offers the opportunity firstly to identify the frames that do not have the expected performance behavior and then to proceed with the analysis of the highlighted frames in greater detail, detecting any specific performance problems. The tool also enables the user to easily locate frames with interesting features, e.g., the frames with the most memory accesses, with the most pipeline stalls, with the most z-buffer traffic, etc.

Think Silicon optimizes GLOVE™ with the LPGPU2 Profiler tool

The LPGPU2 framework, extended by Think Silicon within the LPGPU2 project, enabled the optimization of GLOVE™, an open source middleware, which allows developers for Android™, Linux® and Windows® operating systems to run seamlessly OpenGL® ES on supported hardware by translating at runtime OpenGL ES API calls to Vulkan® API commands for that platform. The GLOVE™ demo was running on a ZC706 Evaluation Board using NEMA®|t, the smallest Internet-of-Things (IoT) Graphics Processor Unit (GPU) with 3D functionality. In depth analysis of the GLOVE™ software stack was performed by using the LPGPU2 tools CodeXL, SHIM and DC API on a Linux platform. The LPGPU2 tool performed a performance analysis, identifying bottlenecks and guided Think Silicon’s developers to achieve the best power-performance balance of the GPU, by statistically analyzing how the code runs inside the GPU. GLOVE™ is available for download from https://github.com/Think-Silicon/GLOVE.

Think Silicon® releases GLOVE™, an OpenGL ES over Vulkan middleware as open source

Think Silicon®, an LPGPU2 member, released GLOVE™ (GL Over Vulkan®), an open source middleware, which allows developers for Android™, Linux® and Windows® operating systems to run seamlessly OpenGL® ES on supported hardware by translating at runtime OpenGL ES API calls to Vulkan API commands for that platform.

Over the years the increased complexity of the driver’s implementation based on OpenGL and OpenGL ES led to the introduction of Vulkan, a lower-lever API that transfers much of the driver’s functionality to the application-side. Since direct transition to Vulkan requires in many cases increased efforts, the developers and vendors are forced to maintain driver support for both Vulkan and OpenGL.

GLOVE™ bridges this gap since developers have now the flexibility to seamlessly transition their software between these APIs, while vendors can discard duplicate OpenGL® ES drivers and rely solely on a lighter implementation of the Vulkan API. The software has been designed towards facilitating developers to easily build and integrate new features, allowing at the same time its further extension, portability and interoperability.

GLOVE™ is considered as a work-in-progress and is open-sourced under the LGPL v3 license through which it is provided as free software with unlimited use for educational and research purposes. Future planned extensions of GLOVE™ include the broader support for desktop and safety critical OpenGL applications.

GLOVE™ is available for download from https://github.com/Think-Silicon/GLOVE

.

LPGPU2 tool Extended to Support Low-level APIs

Think Silicons’s NEMA®|GFX-API is not only a graphics API, but it also serves as an API for having direct access to GPU hardware, e.g., by handling interrupts, by dispatching command lists to the GPU, and/or by accessing the GPU configuration registers. Therefore, having a detailed understanding of NEMA®|GFX-API is essential to develop performance and power efficient code for NEMA® GPUs.

In order to be able to assess the performance of NEMA®|GFX-API-based applications and, in general, of the GPU SW stack (OpenGL®) that runs on top of it, Think Silicon® has made NEMA®|GFX-API visible to the LPGPU2 tool. This implies capturing timestamps for NEMA®|GFX-API function calls and their corresponding parameters and returning values gathered in a LPGPU2 tool suitable format. As it can be seen in the figure below, NEMA®|GFX-API function calls are now displayed in a timing diagram along with the rest of graphics APIs.

The red box shows a timing diagram displaying GPU SW functions (OpenGL) encapsulating NEMA®|GFX-API function calls

Extending the LPGPU2 tool with NEMA®|GFX-API support was a nice exercise. During this exercise, we gained expertise (and implemented the necessary code hooks in the tool) so as other vendors to be able to add support for their own or third-party graphics APIs in our tool.

LPGPU2 @ 14th International Symposium on Applied Reconfigurable Computing (ARC 2018)

Think Silicon is very pleased to announce its participation at the 14th International Symposium on Applied Reconfigurable Computing (ARC 2018) which is held these days, from the 2nd to 4th of May, at Santorini, Greece. The International Symposium of Applied Reconfigurable Computing (ARC) aims to bring together researchers and practitioners of reconfigurable computing with an emphasis on practical applications of this promising technology. This year’s Symposium will have a series of international invited speakers who will express their views on the future of reconfigurable technology.

During this event, Dr. Georgios Keramidas, Chief Scientific Officer of Think Silicon S.A., gave a very interesting presentation about Low-Power Parallel Computing on GPUs, which refers to the work performed within the LPGPU2 project funded from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 688759. Application developers are seriously hindered when creating low-power GPU software by the limited quality of current performance analysis tools. In low-power GPU contexts there is only a minimal amount of performance information, and essentially no power information, available to the programmer. As software becomes more complex it becomes increasingly unmanageable for programmers to optimise the software for low-power devices. Within this project a complete performance and power analysis process for the programmer has been created to aid the application developer in creating software for low-power GPUs.

For more information about our activities within the Low-Power domain, please do not hesitate to contact us at info(at)think-silicon.com.

LPGPU2 enhanced with Instruction-level statistics

The LPGPU2 tool has been extended to analyze and visualize internal instruction-based statistics through a brand-new innovative feature called “Shader Statistics”. This feature enables the developer to view statistics for a specific shader and spots potential performance and power bottlenecks at the instruction (assembly) level. The visualization of a shader’s performance is based on performance counters data, DWARF (compiler) information and the captured GLSL (OpenGL Shading Language) of the shader. In this way, the developer is able to identify the problematic shader areas on the spot and then to analyze, review and intervene, implementing the necessary performance improvements to the code. “Shader Statistics” currently works on Android/Linux OS.

The new feature was developed by the LPGPU2 partners Codeplay, Samsung and Think Silicon.

Think Silicon optimizes its Vulkan Driver with the Shim module

The Shim module, developed by SAMSUNG within the frame of the LPGPU2 project, enables Think Silicon® to optimize its Vulkan Driver. Through the data analysis, the most time-consuming functions are pointed to the developer, which if optimized, improvements on the overall performance will be achieved. Currently, the module is able to intercept the following APIs: EGL, GLES2, Vulkan, NEMA®. The figure below shows the 10 most time-consuming functions of Think Silicon® Vulkan Driver.

Building the solutions for tomorrow – First Low-Power AI-Inference Accelerator Vision Processing Unit from Think Silicon debuted last week @ Embedded World 2018

Think Silicon® demonstrated a prototype of NEMA®|xNN, the world’s first low-power ‘Inference Accelerator’ Vision Processing Unit for artificial intelligence, convolutional neural networks, last week @ Embedded World 2018 at Nuremberg, Germany. Additionally, supporting demonstrations for attendees showcased features for ultra-low power 3D GPU and display processing, along with graphics software analysis and development tools.

The world premiere prototype demonstration of NEMA®|xNN unveils a power efficient inference accelerator to solve computer-vision tasks in edge-computing applications using optimized convolutional neural networks. The architecture has the ability to scale from single to multi-core and leverages patented real-time compression algorithms to move data efficiently to the on–chip and off-chip memory, while providing 8-bit MAC operations, approximate calculations, data reuse optimizations and delivers memory-latency capabilities.

Think Silicon® also exhibited NEMA® |t – the industry’s first ultra-low power 3D GPU supporting open graphic standard APIs and Vector Graphics for System on a chip (SoC) solutions. Additionally, Think Silicon® showcased supporting software tools including NEMA®|Power-Model (developed as part of the LPGPU2 project), NEMA®|Profiler (developed as part of the LPGPU2 project) and NEMA®|SHADER-edit to assist the analysis and development of applications designed to simplify the creation process.

To view the entire press release, please follow this link.

Think Silicon @CES2018

Think Silicon kicked-off successfully the new year at the Consumer Electronics Show  (@CES2018), in Las Vegas. CES is the place to be, when you are in the consumer electronics business and looking for the latest technology-trends and gadgets.

Think Silicon launched an ultra-low power Internet of Things (IoT) platform, created in cooperation with Synopsys. Designed to extend battery life of a wearable or embedded device for days (not for hours…) it runs just at 33MHz, yet still provides smartphone-like fast responsive graphics. The FPGA development platform contains a DesignWare® ARC EM5D Processor and Think Silicon’s® IP including a NEMA®|p single core GPU, NEMA®|DC Display-controller, and the NEMA®|GFX-API. The fully-fledged platform, is aimed to develop ultra-low power, connected wearables and low-power embedded (touch-) display devices.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close