Solutions Articles

gFlite

Jan. 12, 2020 |  Category:  Solutions

Description

gFlite is a WASM compiled demo of the flite Text-to-Speech software. This WASM app takes text as an input and computes it into to speech....

Blender

Jan. 9, 2020 |  Category:  Solutions

Description

Blender is a free and open source 3D creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion tracking, video editing and 2D animation pipeline.

Usage

Blender on GolemGrid allows you to render your scenes in parallel by taking advantage of subtasks. Subtasks is by definition a smaller piece of an overall task, and you can define as many as you would like to.

Example

Let's say you have a single frame that requires a lot of computation to get rendered. You could launch a task with 3 subtasks, which would take that one frame and split it up to 3 different pieces, that would simountanously get rendered by 3 different nodes on the Golem Network. In theory if the nodes are equal to your computer, this should finish the render 3x as fast, as your own computer would.

Checklist before submitting Blender task

  • 1. GolemGrid supports all official Blender engines (Blender Render, Cycles Render) and uses settings from your .blend file. In the near future we are going to add samples for Cycles, but for now you should set your prefered samples amount inside Blender before adding a task..

  • 2. Scene files should be saved in .blend format - version 2.79

  • 3. If you are going to use additional assets you should include the main .blend file next to the assets folder. Also make sure that inside the scene all paths are correctly linked and that you use relative paths.

  • 4. Please be sure to include all the assets before uploading a task

  • 5. Ensure that your scene does not have any random objects. You can turn off “random” in your scene or prebake elements if needed before adding them to GolemGrid and attach cache files to the assets folder.

  • 6. You should also use prebaking in case of having physical simulation in your scene (like fire, water, complicated glass, Volumetric lighting...) and attach cache files to the assets folder accordingly.

  • 7. We do not support compositing directly at the moment

  • 8. If you are using FreeStyle brush modifiers that have randomly distributed values your scene may be rejected on verification and ultimately result in the task failing.

  • Supported Plugins
    Gaffer
    Gaffer is a Blender add-on that helps you light your scenes by presenting all the right settings in convenient panels for quick access and experimentation.
    Plugin website

    Pro-Lighting Studio
    Pro-Lighting Studio is a Blender addon that helps you produce gorgeous results, with dozens of interesting lighting suggestions for your model.
    Note: Rarely minor issues with light temperature can be observed
    Plugin website

    Pro-Lighting: Skies
    Pro-Lighting: Skies contains a collection of 80 HDR skies that were captured by professional photographers around the world. Includes sunny, cloudy, overcast, morning, sunset, nighttime and evening skies.
    Note: Rarely minor issues with light temperature can be observed
    Plugin website

    Realistic Nature Asset Pack
    19 different nature models to quickly add realistic nature to any render! Note: including files as resources are required
    Plugin website

    The Grass Essentials
    The Grass Essentials is a pack of grass models and particle systems, that you can quickly import to any scene to have beautiful grass.
    Plugin website

    Supported Add-ons
    ArchiMesh
    This tool is specially designed to generate architecture elements

    Denoiser
    It fixes issues with noise and light drops. Works as a part of Cycles rendering process and makes it faster.

    Shadow catcher
    Shadow catcher allows you to create transparent objects that receive shadows from other objects.

    Holdout
    The holdout shader creates a “hole” in the image with zero alpha transparency, which is useful for compositing

    Not Supported
    Decal machine
    A set of tools to simplify and automate working with mesh-based decals, which in turn facilitates quick design thinking, iteration, and exploration
    Reason: there are visible differences in output scenes
    Plugin website



    Sources...

WASM

Jan. 9, 2020 |  Category:  Solutions

Description

WebAssembly (known as WASM), is an open standard for running binary programs in browsers with near-native performance, but is not limited to browser enviroments only. WASM can be used in plenty of other enviroments like at GolemGrid. Writing your own WASM application allows you to run your computations in parallel.

Usage

1. Write the application in your preferred language. (C, C++ and Rust supported)
2. Create a pre-compiled Wasm module. See more
3. Contact us for integration into your own dashboard.

Limitations

  • 1. All supported applications need to be single threaded.

  • 2. Forks, IPC calls and synchronization are not allowed. It is convenient to run multiple instances of an application on multi core CPU.

  • 3. You cannot rely on time and date operations. They are mocked for the sake of determinism.

  • 4. All computations are limited to CPU, you cannot access the GPU.

  • 5. You cannot rely on randomness in order to generate cryptography or secrets. Moreover, in order to preserve determinism in the future, we will strive at providing the same source of entropy to all providers involved in verification of a WASM task. This way, the task will have access to real entropy and the determinism on providers’ machines will be preserved.

  • 6. All files are mapped to RAM memory. So having input and output files size in total greater than a few GB is not supported.


Sources...