Advises on improving the computational efficiency of DSGE models

Could you please advise on improving the computational efficiency of DSGE models?

  1. The model takes a long time to run, but the CPU utilisation is only around 60%. Are there any settings that can increase CPU utilisation?

  2. How can I configure the program to use the GPU? I would like to run the model on the GPU to achieve higher efficiency and shorter run times.

I would greatly appreciate for any assistances, guidances, or helps from professors and the experts.

That is tricky. There are various levels of parallelism in Dynare. See e.g. Making sure you're not a bot!
MATLAB parallelizes many of its internal routines already. Increasing the CPU usage of Dynare’s routines may e.g. conflict with the parallelization of MATLAB. Depending on the pipeline you are working with, you can experiment with PCT setting and the set_dynare_threads function.

…, There is not obvious improvement

% run_model.m
set_dynare_threads(‘dsge_likelihood’,16);
set_dynare_threads(‘dynare’,16);
set_dynare_threads(‘kalman_filter’,16);
options_.threads = 16;

% test
dynare test.mod;