public abstract class MultithreadedPsdEvaluator extends AbstractPsdEvaluator implements IFinishListener, IIntervalListener
| Modifier and Type | Field and Description |
|---|---|
private java.util.concurrent.Semaphore |
evalationComplete |
private int |
finishedSimulation |
protected static int |
FPS_GRAPHICS |
private int |
numThreads |
private PsdSignature2D[] |
psds |
private double[] |
times |
protected KmcWorker[] |
workers |
| Constructor and Description |
|---|
MultithreadedPsdEvaluator(int repeats,
int measureInterval,
int numThreads,
java.util.Set flags) |
| Modifier and Type | Method and Description |
|---|---|
private void |
addToPsd(int workId,
float[][] surface) |
private void |
assignNewWork(int workerId) |
private double[] |
calculateDifferenceWithRealPsd() |
float[][] |
calculatePsdFromIndividual(Individual i) |
private void |
calculatePsdOfPopulation(Population p) |
void |
dispose() |
double[] |
evaluate(Population p) |
private double |
evaluateIndividual(int individualPos) |
void |
handleSimulationFinish(int workerID,
int workID) |
void |
handleSimulationIntervalFinish(int workerId,
int workId) |
private void |
storeSimulationTimes(Population p) |
calculateFrobeniusNormErrorMatrix, calculateHierarchyError, calculateHierarchyErrorDiscrete, calculateHierarchyErrorFromReference, getCurrentDifference, getCurrentError, getCurrentIteration, getCurrentPopulation, getCurrentPsd, getCurrentSimulation, getIndividualCount, getMeasureInterval, getProgressPercent, getPsdSizeX, getPsdSizeY, getRepeats, getSimulationCount, hasKmcFailed, kmcHasFailed, resetKmcError, setCurrentPopulation, setCurrentSimulation, setExpectedSimulationTime, setHierarchy, setPsd, setPsdSizeX, setPsdSizeY, setRepeatsgetSurface, getWheight, setShowGraphics, setWheight, showGraphicsprotected static final int FPS_GRAPHICS
private PsdSignature2D[] psds
private double[] times
protected KmcWorker[] workers
private final int numThreads
private int finishedSimulation
private final java.util.concurrent.Semaphore evalationComplete
public MultithreadedPsdEvaluator(int repeats,
int measureInterval,
int numThreads,
java.util.Set flags)
public void handleSimulationFinish(int workerID,
int workID)
handleSimulationFinish in interface IFinishListenerpublic void handleSimulationIntervalFinish(int workerId,
int workId)
handleSimulationIntervalFinish in interface IIntervalListenerprivate void addToPsd(int workId,
float[][] surface)
private void assignNewWork(int workerId)
public void dispose()
dispose in class AbstractEvaluatorpublic double[] evaluate(Population p)
evaluate in interface IEvaluationevaluate in class AbstractPsdEvaluatorpublic float[][] calculatePsdFromIndividual(Individual i)
calculatePsdFromIndividual in class AbstractPsdEvaluatorprivate double[] calculateDifferenceWithRealPsd()
private double evaluateIndividual(int individualPos)
private void calculatePsdOfPopulation(Population p)
private void storeSimulationTimes(Population p)