||This is not a Wikipedia article: It is an individual user's work in progress page, and may be incomplete and/or unreliable.
For guidance on developing this draft, see Wikipedia:So you made a userspace draft. This draft was last edited three years ago .
||This article contains content that is written like an advertisement.|
New article name new article content ...
||The topic of this article may not meet Wikipedia's general notability guideline. (June 2010)|
|This article relies too much on references to primary sources. (June 2010)|
|Developer(s)||Geist Software Labs|
|Stable release||1.1 / April 1, 2011|
|Written in||OpenCL, Lua|
|Type||3D computer graphics software / 3D engine, Computer algebra, numerical computations, Information visualization, statistics, user interface creation|
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.
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
- Lua (programming language) 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
- Bounding Volume Hierarchy
- Cross-platform Runtime Engine
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.
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.
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.