Prolog uses only 13% of CPU and takes an hour to complete

Quick guess, you are on an older version of SWI-Prolog. Even a stable version is to old as concurrent_forall/2 is relatively new.

See: SWI-Prolog 8.3.3