Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: RE: MP running no faster than IC


From   "Mark Finnis" <[email protected]>
To   <[email protected]>
Subject   st: RE: MP running no faster than IC
Date   Tue, 9 Jul 2013 11:42:13 +0930

Hi Ted,

I have Stata/SE 12.1 and upgraded to Stata/MP4 13.0 recently.  I left the SE
12.1 install in place for the moment.

On a laptop (so slower processor) under W7-64bit, I get 27.7s and 34.2s
respectively.

Watching activity via "Task Manager", SE tasks 1 processor and MP uses all 4
"as advertised" ...

An "interesting anomaly".

It would be interesting to see the results from a different platform!

Cheers
Mark

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Ted Player
Sent: Tuesday, 9 July 2013 11:11 AM
To: [email protected]
Subject: st: MP running no faster than IC

Short version:  Stata MP 12-core isn't running my code any faster than it
did when I used Stata IC, and I can't figure out why.

Detailed version:  I am running Windows 7 Pro SP1 64-bit on a quad-core
machine.  I have purchased two Stata licenses.  I purchased Intercooled when
version 12 was released.  I recently purchased MP-12 core to make my Stata
code run faster.  (I realize I only have four cores so the 12 core is
overkill; I want the flexibility to use Amazon's EC2, so I purchased the 12
core version.)  Both flavors of Stata are version 12.

Unfortunately, I am finding that MP does not run any faster than IC.
Indeed, in all my tests MP is a little slower.  To document the issue, I did
a fresh install of Stata Intercooled and then I ran benchmark.do (below).  I
ran it three times, and the average run time was 18.4 seconds.  Then I
uninstalled Stata completely, installed Stata MP-12
core, and ran benchmark.do again.   I ran it three times, and the
average was 19.6 seconds.  I'm disappointed that MP isn't running faster.

The benchmark program shown below performs a bootstrap of regression.
According to the Stata/MP Performance Report
(http://www.stata.com/statamp/report.pdf), replication-based commands such
as bootstrap were not benchmarked for the report because "these commands run
another target command repeatedly, and to the extent the target command's
performance is improved for a particular problem size, a similar improvement
will be obtained when it is run repeatedly" (p. 7).  In the benchmark
program below, the target command is regression (which the report shows to
be markedly improved for MP).  The part of the Stata/MP Performance Report I
have quoted here seems to suggest I should expect a performance improvement
in my setup when using bootstrap.

Stata makes positively *glowing* claims about MP (e.g.,
http://www.stata.com/stata12/stata-mp), but I have yet to find any
improvement whatsoever.

I have done a creturn list to verify that I have Stata/MP installed
correctly.  The relevant parts of the creturn list are show below:

                  c(MP) = 1
          c(processors) = 4                    (Stata/MP, set processors)
      c(processors_lic) = 12
     c(processors_mach) = 4
      c(processors_max) = 4
                  c(os) = "Windows"
               c(osdtl) = "64-bit"
        c(machine_type) = "PC (64-bit x86-64)"


I should mention that when I look at the CPU usage with Windows Task
Manager, it stays at 25% while benchmark.do is running MP-12 core.
Also, I should mention that under the MP-12 core install, I have tried "set
processors 1", and I get practically the same performance that I get from
"set processors 4".  It seems to me that MP isn't using the extra cores.

Can anyone explain to me why I'm not getting any better performance from
MP-12 core than I'm getting from IC?


benchmark.do
----------------------------------------------------------------------------
------------------
clear all
sysuse auto
timer on 1
bootstrap, nodots reps(5000) seed(1): regress mpg weight gear foreign timer
off 1 quietly timer list local elapsed = r(t1) display "This benchmark
process required ... `elapsed' ... seconds"
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index