I am running a 50000 round loop using two threads. The procedure called by each thread also includes a 2000 round bootstrap procedure that is divided into two threads within the top procedure.
I have run the code on a two-core-CPU desktop using GAUSS 13 without any problem. However, when I run the code on a four-core-CPU laptop using GAUSS 12, after about several thousand rounds of the main loop, there will be an error message appearing: error G0576 : 'Resource Temporarily Unavailable' : Threading error.
I don't know why this error would appear only on the laptop after thousands of loops have been run without the problem. Can anyone help.
The error G0576: 'Resource Temporarily Unavailable': Threading error is almost certainly coming from the creation of a new thread. GAUSS uses the pthreads library for threadStat, threadBegin, etc.
There are many possible factors. If one of the laptops is using and older operating system (i.e. Windows XP or Red Hat Linux 4), and your program logic is set up to spin a very large number of threads, it may simply be an OS thread limit.
GAUSS 13 for Windows uses a newer version of the pthreads for Windows library, which is significantly improved vs. the version used in GAUSS 12. GAUSS 13 and 14 are also more memory efficient in certain thread contexts than GAUSS 11 or 12. I would recommend installing GAUSS 13 or 14 on this machine to see if it solves the problem.