  The end of Dennard scaling and the slowdown of Moore's Law led to
heterogeneous architectures benefiting machine learning (ML) algorithms. These
hardware advancements and the development of intuitive domain-specific
languages have made ML more accessible, democratizing innovation. ML models
surpass traditional approximation limits, broadening opportunities and evolving
from statistical to complex function modeling. Consequently, scientific
applications leverage ML models for enhanced execution speeds. However,
integrating ML models remains manual and complex, slowing the adoption of ML as
an approximation technique in modern applications.
  We propose an easy-to-use directive-based programming model that enables
developers to describe the use of ML models in scientific applications. The
runtime support, as instructed by the programming model, performs data
assimilation using the original algorithm and can replace the algorithm with
model inference. Our evaluation across five benchmarks, testing over 5000 ML
models, shows up to 83.6x speed improvements with minimal accuracy loss (as low
as 0.01 RMSE).
