OpenCL Studio

New article name new article content ...
OpenCL Studio is a computational software program for high-performance computing and visualizaiton used in scientific, engineering, and mathematical fields and other areas of technical computing. It is developed by Geist Software Labs Inc. of Victoria, British Columbia.
Features
OpenCL Studio is an integrated development environment for high performance computing on multiprocessor hardware such as GPUs. Its' feature rich editor and runtime environment uniquely leverage the interoperability between OpenCL and OpenGL to support the rapid development of parallel processing solutions and accompanying visualizations. A flexible scripting language and integrated source code editors facilitate an interactive development style. Key Features of OpenCL Studio include:
*Parallel programming with OpenCL
**Lua scripting interface for C API
**Kernel code editor
**Multiple device and platform support
**Integrated profiling information
*Realtime 2D/3D graphic based on OpenGL
**Lua scripting interface for C API
**Shading language editor
**Predefined rendering constructs
**Interactive scene editor
*User interface library
**Interactive GUI designer
**Complete Windowing System
**Rendered entirely in OpenGL
* scripting
**Rapid prototyping and development
**No explicit compilation step
**Embedded code completion
*Extensible plugin architecture
**Import custom data via dynamic link libraries
*Workspace infrastructure
**Manage multiple projects
**Deploy complete applications
*Parallel algorithm library
**Fluid dynamics
**Image processing
**Sorting
**Bounding Volume Hierarchy
*Cross-platform Runtime Engine
Philosophy
The philosophy behind OpenCL Studio is to combine parallel processing techniques and advanced visualization capabilities into a single development environment. This approach is motivated by the fact that many computational problems that are conducive to parallel solutions often also require a complex visualization to best convey the result of the computation. OpenCL Studio has therefore been designed to expose OpenCL and OpenGL within an editor that supports an interactive development style for kernels and shaders. This capability allows users to write custom processing logic in a native parallel processing language rather than a scripted interpreted language as it is often the case with similar tools. As a result, users can exploit the full range of capabilities in parallel processing hardware while relying on mature and well documented languages.
OpenCL Studio also thrives to maximize ease of use by encapsulating much of the low level OpenCL and OpenGL C APIs into high level building blocks for managing memory and programs and constructing visualizations and user interfaces. A minimal scripting interface provides the flexibility necessary to develop a variety of custom logic. Since all application logic in OpenCL Studio is either compiled or interpreted on the fly, the development process is naturally interactive. Changes to scripts, kernels or shaders are immediately reflected in the application under development.
Interface
OpenCL Studio combines different types of source code editors, an interactive GUI builder and 2D/3D rendering capabilities within a single windows application. The IDE is split into three main views for the current state of the application under development, the source code of kernels and shaders, and the scripting interface. The compiler output from the underlying device drivers and the Lua scripting engine is tightly integrated with OpenCL Studio helping to identify compiler and runtime errors. Similar to most IDEs, a tree view as well as various property sheets helps to organize and configure application building blocks ranging from buffers to user interface widgets.
Applications
OpenCL Studio is applicable to a wide range of computational problems. Since its inception as a graphics engine in 2001 it has been applied to provide data processing solutions for remote sensing, GIS data visualization, fluid simulation and volumetric rendering.
 
< Prev   Next >