@kraus We have a similar problem (i.e. not same bins for all DVARs) in case of LatinHyperCube. Fixed it by 40505a19. All masters initialize the full set of bins and shuffle it the same way. Then each master selects its range. In this case we have different bins for different DVARs.
@kraus What do you think about a static public counter of SamplingMethod that is used to figure out the id of each sequence dimension? We could then split id == 0 into nMaster bins if the static counter variable is greater than 1.
I haven't looked at your code changes yet, but I think this will not work the way as you described here with multi-dimensional samplings with Latin hypercube. The samplings will look like a block-diagonal matrix (if it were a matrix).
I think the only way to solve this is to split the sampling space the same way as the sc solver splits the grid. The easiest way is along one dimension.
I don't think so because each master selects randomly Nloc bins out of all Ntot bins. So, the full range for all masters. But it is then still guaranteed that each bin occurs only once in each dimension.
Just looked at the code and it's clear how this works in the case of Latin Hypercube. But the same approach wont work for sequences with RASTER = TRUE. Latin Hypercube works similarly to RASTER = FALSE where in each column and row there is only a single sample.
BTW the masters should still have different seeds. In the case of Latin Hypercube there will be n samples which are at the same position within a hypercube just in different cubes. n is here the number of masters.
RASTER=FALSE is wrong. RASTER=TRUE fails for 3 masters. I tested with N = 11 (DVAR 1) and N = 8 (DVAR 2)
RASTER=TRUE fails for 3 masters because the Sampler itself does a "fair" splitting of jobs. In case of 2 masters the splitting luckily matched the Sampler one.