CMSoft Dynamic Shader Beta Release

CMSoft Dynamic Shader Beta Release


Download Dynamic Shader (beta)


We are proud to release CMSoft’s Dynamic Shader (beta), a software designed to let artists quickly bring to life their creations by providing a fast and easy way to create high quality shading of 2D pictures, such as the one below:




The following video demonstrates how to create automatic gradient filling for 2D pictures:


Dynamic shader aims to be a practical tool for professional art, concept sketches and people who just like to draw and paint alike. The algorithm uses concepts from dynamic programming in order to compute color gradients and perform automatic shading. Due to the large amount of processing power required it is necessary to have an OpenCL-enabled GPU.

Recommended hardware:
– 64-bit Windows with at least 4 Gb RAM
– OpenCL enabled GPU

Please keep in mind that Dynamic Shader is currently in beta version. Please do send us any and all suggestions/comments using the email


Many thanks to:

Grand Prix Senai de Inovação 2013, event during which Dynamic Shader was first unveiled.

Tales Vieira (drawing/shading) for the amazing picture and shading.


Download Dynamic Shader (beta)


Video agenda:

– Demonstrate the first beta release of CMSoft’s Dynamic Shader;
– Open a picture which contains an outline of the objects, like an image from a coloring book;

– Click the color picker button to draw color references onto the image;
– Drawing color references – colors get added to the sidebar

– Click render & save to draw image – strokes get saved in the same folder as the picture and are loaded when you open the image again

– Move mouse over color boxes
– Easy to change color – click color and pick a new color – render

– Remove color with right click

– Demonstrate bigger renders

Brasil Chapter – Presentations

Brasil Chapter – Presentations


Excellent talks and ideas were presented in the first Brasil Chapter meeting.

We’re proud to share some of the resources with the community (only available in Portuguese):


Introduction to heterogeneous computing – Profa. Dra. Denise Stringhini


Optical measurement system powered by heterogeneous computing – MSc Pedro Buschinelli







Khronos Chapter Brazil Meeting

Khronos Chapter Brazil Meeting


Update (28 Sep): Click to download more pictures of the event



The first Brazil Chapter meeting was held last Friday, Sep 20th.

It was an outstanding encounter where researchers, professionals and students were able to share their thoughts on their high performance applications as well as set goals for Brazil Chapter.

We will soon post more pictures, presentations and videos from the event.

We’d like to thank Khronos Group for making this all possible, all participants for coming and all the community for the interest and support.


KhrBrChap Motivation Heterog Computing


KhrBrChap Coffe Break




Brazil Chapter Meeting

Brazil Chapter Meeting

We’re pleased to invite the OpenCL community to take part in the first meeting of the Brazil Chapter, scheduled to Sep 20th in Belo Horizonte – MG.

Our discussion will be focused on using OpenCL and parallel processing to increase software industry competitiveness by allowing lower energy consumption and faster software.

If you would like to participate please send us an email.


OpenCL 2.0 is coming!

OpenCL 2.0 is coming!


OpenCL 2.0 has been presented by Khronos at SIGGRAPH 2013 and has a draft specification and it has many exciting features. At this point the 2.0 spec needs some clarification in some aspects and preferably some examples.

Among the new interesting features are:

Shared virtual memory – clSVMAlloc will be the new base memory allocation function for shared memory that will remain synchronized between host and device. This is going to be a useful function when the two devices share the same physical memory, so that no copy is needed.

Dynamic parallelism – Device kernels will be able to launch its own subkernels in the device. With proper attention this should effectively enable recursive kernels.

Generic address space – At this moment, developers need to declare all buffer types in kernels and functions. If a function does the same operation to a __global or __private memory buffer it has to be duplicated. Generic address spaces should eliminate this need by accepting generic memory qualifiers.

Pipe spaces – This seems to be a pipeline with FIFO characteristics that can be used by workitems and host to allow message passing.


Of all thesen new features, dynamic parallelism seems to be the one that will affect the most how developers use OpenCL. Let’s just hope that implementations come soon!

Forum moderated

CMSoft Forum Moderated Only

Unfortunately our forum has been receiving too much spam and we just haven’t been able to keep up with the required moderation to post useful information. Feel free to contact us with any OpenCL or resource question and our moderators will answer and open the thread in the appropriate forum.

In the meantime, we’re preparing an interesting semi-distributed computing framework using OpenCL.

See you at SIGGRAPH!


OpenCL Birds of a Feather at SIGGRAPH 2013


A new edition of SIGGRAPH is coming up this year with cutting-edge technology in computer graphics as well as heterogeneous computing and parallel processing with GPUs in latest years. As always, Khronos Group will host a Birds of a Feather event which will feature OpenCL, OpenGL, COLLADA and their various high quality open standards.

We at CMSoft look forward to meeting all the OpenCL community in the OpenCL BOF. See you in Anaheim!



Wednesday, 24 July 3:00 PM4:00 PM