Print

Print


Dear Sophocles,

I was curious and I just tested Ox on a machine with 64 virtual processors  ( Amazone EC2 instance m4.16xlarge ) and threads are correctly allocated to all cores.(on node 0 : 31CPUs are used and on node1 : 31CPUs, they are fully working) - please see the attached image. However I already experienced the kind of behaviour your mention, it was due to the fact that I had some loops that took much more time than others loops, in this case since loops are pre-allocated to each CPU before the parallel-forloop, it is possible that some CPUs finish their jobs well before other CPUs . (it is typically the case if you are estimating several models in a parallel-forloop, where models are more complex at each iteration). So it is preferable to ensure that each step inside the loop has a similar amount of work to accomplish. I run the code from oxmetrics, (do not use the -rp switch - default number of core is selected) and note that I run the code on a single instance of an aws server. I'm not experienced with multiple instances but a possible problem in this case is that Ox may fail to identify all CPUs.

The following code takes 26 sec on this machine. 

main()
{
    decl timer = time();
    decl T = 1e8;
    println(T);
    decl t = 0 ;
    parallel for (t = 0 ; t < T; t++)
    {
        decl x = rann(10,10);
        decl x2 = invert(x);
 
    }       
    println("elapsed time: ", timespan(timer));   
}

output :

Ox Professional version 7.00 (Windows_64/U/MT) (C) J.A. Doornik, 1994-2013
1e+008
elapsed time: 26.13

Best regards,

PS: for the image, I increase the size of the matrix x.

Malick
Le 25/10/2016 à 15:54, Sophocles Mavroeidis a écrit :
[log in to unmask]" type="cite">
Dear All,
I have tried to run Ox on an amazon cloud Windows 2012 R2 server with 64 CPUs, and I noticed that Ox does not use more than the first 32 CPUs. This is true even if I use the -rp64 switch, or when I run multiple ox programs. The number of threads increase as expected, but they are not allocated to any more than the first 32 cores. 
I have had the same problem on multiple instances of aws EC2 servers. Every time I cannot get Ox to use any more than the first 32 cores. 
Has anybody managed to use more than 32 CPUs in a windows server? 
Thanks for your help,
Sophocles

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
https://sites.google.com/site/sophoclesmavroeidis/




Avast logo

L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
www.avast.com