Class AmiciSimulationRunner

Nested Relationships

Nested Types

Class Documentation

class AmiciSimulationRunner

The AmiciSimulationRunner class queues AMICI simulations, waits for the results and calls a user-provided aggregation function.

Public Types

using messageHandlerFunc = std::function<void(std::vector<char> &buffer, int jobId)>
using callbackJobFinishedType = std::function<void(JobData*, int)>

Type of function be called after a single job finished

using callbackAllFinishedType = std::function<int(std::vector<JobData>&)>

Type of function be called after all jobs are finished

Public Functions

AmiciSimulationRunner(const std::vector<double> &optimizationParameters, amici::SensitivityOrder sensitivityOrder, const std::vector<int> &conditionIndices, callbackJobFinishedType callbackJobFinished = nullptr, callbackAllFinishedType aggregate = nullptr, std::string logPrefix = "")

SimulationRunner.

Parameters:
  • optimizationParameters

  • sensitivityOrder

  • conditionIndices

  • callbackJobFinished – Function which is called after any finished simulation. May be nullptr.

  • aggregate – Function which is called after all simulations are completed. May be nullptr.

  • logPrefix

AmiciSimulationRunner(AmiciSimulationRunner const &other) = delete
int runSharedMemory(const messageHandlerFunc &messageHandler, bool sequential = false)

Runs simulations within the same thread. Mostly intended for debugging.

Parameters:
  • messageHandler

  • sequential – Run sequential (not in parallel)

Returns:

struct AmiciResultPackageSimple

Result from a single AMICI simulation.

Public Functions

AmiciResultPackageSimple() = default

Public Members

double llh
double simulationTimeSeconds
std::vector<double> gradient
std::vector<double> modelOutput
std::vector<double> modelSigmas
std::vector<double> modelStates
int status
struct AmiciWorkPackageSimple

Data to be sent to a worker to run a simulation.

Public Functions

AmiciWorkPackageSimple() = default

Public Members

std::vector<double> optimizationParameters
amici::SensitivityOrder sensitivityOrder
std::vector<int> conditionIndices
std::string logPrefix