In general SNAP does the parallelization automatically, but it does it on a tile basis. The data is split into tiles and each is calculated on a separate thread. But if your data has only 4 or 8 or 2 tiles, then only these number of threads are used. The number of tiles depends on the size of your input images and also how the tiling is defined by the data format.
Beside this there are algorithms which prevent a meaningful parallelization based on tiles because they need the full image as input, for example.
You can change the default tiling.
When using gpt you can set this property:
-Dsnap.jai.defaultTileSize=100
The default tile size is 512.
You can also put this into the gpt.vmoptions file
You can also change the value for this property in snap.properties ($INSTALL_DIR/etc/
), then also the tiling in SNAP Desktop is changed.