runSyntheticModelBenchmarks function
Implementation
Map<String, Object?> runSyntheticModelBenchmarks({
required int warmup,
required int iters,
}) {
final device = MlxDevice.defaultDevice();
final stream = MlxStream.defaultFor(device);
try {
return <String, Object?>{
'runtime': 'dart_mlx_ffi',
'mlx_version': MlxVersion.current(),
'device': device.toString(),
'metal': MlxMetal.isAvailable(),
'warmup': warmup,
'iters': iters,
'models': <Map<String, Object?>>[
_benchMlp(warmup: warmup, iters: iters, stream: stream),
_benchConv(warmup: warmup, iters: iters, stream: stream),
_benchAttention(warmup: warmup, iters: iters, stream: stream),
],
};
} finally {
stream.close();
device.close();
}
}