diff --git a/mlx/transforms.cpp b/mlx/transforms.cpp index 3a02f39cb..2d9942eda 100644 --- a/mlx/transforms.cpp +++ b/mlx/transforms.cpp @@ -208,7 +208,9 @@ array eval_impl(std::vector outputs, bool async) { // output arrays stream fences[it->second].wait(stream, in); } else if (in.event().valid()) { - if (in.event().stream() != stream) { + if (in.event().is_signaled()) { + in.detach_event(); + } else if (in.event().stream() != stream) { // Use event to wait across async eval in.event().wait(stream); } diff --git a/mlx/version.h b/mlx/version.h index 45ccdf3a7..530d0620d 100644 --- a/mlx/version.h +++ b/mlx/version.h @@ -4,7 +4,7 @@ #define MLX_VERSION_MAJOR 0 #define MLX_VERSION_MINOR 26 -#define MLX_VERSION_PATCH 0 +#define MLX_VERSION_PATCH 1 #define MLX_VERSION_NUMERIC \ (100000 * MLX_VERSION_MAJOR + 1000 * MLX_VERSION_MINOR + MLX_VERSION_PATCH)