Skip to content

iExec decentralized application for distributing the computation of gimp's batch mode image processing.

License

Notifications You must be signed in to change notification settings

luisccastillo/gimpfu-iexec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gimpfu-iexec

Distributed gimpfu execution

before

after

This application leverages gimp's batch mode in order to apply a set of effects on multiple images. The computational processing can be negociated with iExec workers.

Prerequisites

Please refer to the iExec documentation

Running locally

For more visually appealing results, use higher quality images.

Create your input and output folders, then pass them as a parameters in your docker run :

docker build . --tag gimpfu-iexec
docker run --rm -v /home/user/iexec_in:/iexec_in -v /home/user/iexec_out:/iexec_out -e IEXEC_IN=/iexec_in -e IEXEC_OUT=/iexec_out gimpfu-iexec

The result can be found in $IEXEC_OUT

Running with iExec

For distributed execution testing purposes, use low quality images.

This section assumes you have:

  • Created and filled your wallet with ETH + RLC
  • Configured your API keys and chain configuration files (chain.json)
  • Deployed your docker image to Docker Hub
  • Deployed your application to iExec

Please refer to the quickstart guide to perform the necessary steps.

Executing in the goerli testnet :

iexec app run --watch --input-files <image url 1>,<image url 2> --chain goerli --workerpool <address>

Additional running options can be found here.

You'll find below a minimalistic version of the configuration files :

chain.json
{
  "default": "goerli",
  "chains": {
    "goerli": {
      "id": "5"
    }
  },
  "providers": {
    "infura": {
      "projectId": "<infura_projet_id>",
      "projectSecret": "<infura_projet_secret>"
    },
    "quorum": 1
  }
}
iexec.json
{
  "app": {
    "owner": "<your_ethereum_wallet_address>",
    "name": "gimpfu-iexec",
    "type": "DOCKER",
    "multiaddr": "registry.hub.docker.com/<docker_username>/<docker_image_name>:<docker_image_version>",
    "checksum": "<docker_image_checksum>",
    "mrenclave": ""
  }
}
Fetching results
iexec task show <task_id> --download my-app-result --chain goerli && unzip my-app-result.zip -d my-app-result

You can also download your results using the iExec explorer.


The tunnel

The following video was made using this gimpfu script in order to process more than 80 files with 4k resolution: https://vimeo.com/490181629

About

iExec decentralized application for distributing the computation of gimp's batch mode image processing.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published