Martin,
In my experience NONMEM internally uses a pseudo-random process to
decide if convergence has been achieved even when the objective function
and parameter estimates are essentially the same. As far as I know this
has nothing to do with the compiler or CPU. So I do not pay much
attention to NONMEM's declaration of success.
Nick
On 14/08/2012 9:00 a.m., Martin Johnson wrote:
Thanks for all your comments and now I understand that there could be
always slight differences between different CPU/architecture.
However, Would it possible that there could be differences in
successful minimizations in nonmem runs. For example, for a same
model, in one CPU/architecture the model run is minimized
successfully with covariance step and in the other the run is
terminated with rounding error.
I would like to say that I have not faced this problem yet. Just a
question, to learn from your experience.
regards,
Martin
On 08/13/2012 03:13 PM, Bob Leary wrote:
Even when using a non-Intel compiler (e.g. gnu compilers) with
exactly the same compiler options and optimization levels on AMD and
Intel that generates exactly the same
code for both , there can be numerical differences between AMD and
Intel processors.
We did a study [1] on Phoenix NLME results using the gnu g77
compiler with different Intel processors and Windows operating
systems going back to 2002 and up to current generation processors
(i3/i5/i7) and Windows 7. We generally got bit for bit identical
results across every system tested when the compiler settings were
the same. But AMD processors gave slightly different results. I
found an AMD technical manual that indicated the probable reason - it
advised that the AMD 80-bit x87 math floating point unit can give
slightly different results than the corresponding Intel FPU.
Indeed, we have found this to be the case in practice.
{1} R. Leary et al, "Exact Reproducibility of Population PK/PD MLME
Numerical Results across Different Computational Environments", PAGE
2011 (abstract 2042].
-----Original Message-----
From: owner-nmus...@globomaxnm.com
[mailto:owner-nmus...@globomaxnm.com] On Behalf Of Nick Holford
Sent: Sunday, August 12, 2012 4:56 PM
To: nmusers
Subject: Re: [NMusers] Intel vs AMD
Mark,
I think you may not be fully appreciating the terms of the agreement
when you say "it is generally accepted that Intel continues to impair
the optimization on AMD CPU".Under the terms of the agreement (which
you provide below) it is perfectly OK for Intel to optimize their
compilers for Intel CPUs without including any optimization for AMD
CPUs.
Furthermore they are not required to provide any optimization for AMD
CPus. Therefore, unless Intel don't know how to optimize compilers
you must expect the Intel compiler to perform better on an Intel CPU.
This issue might (or might not) be relevant to Martin's query about
'differences'. He does not specify the kind of difference e.g. faster?
more accurate?. It may be possible to choose compiler options that
produce identical numerical results on both CPUs but at the price of
speed.
Rik Schoemaker suggested using these Intel compiler options /nologo
/nbs /w /Gs /fp:strict to obtain consistent numerical results
(http://www.cognigencorp.com/nonmem/current/2011-May/3266.html) with
different NONMEM 7 versions across different operating systems.
Perhaps these options would ensure numerical consistency across
different CPU types.
Best wishes,
Nick
On 13/08/2012 8:27 a.m., Mark Sale - Next Level Solutions wrote:
Martin
Yes, the results can be different. Intel has been accused of
"crippling" the executable when the Intel compiler is used on AMD CPUs
http://www.agner.org/optimize/blog/read.php?i=49
by turning off all optimization - they actually pretty much admitted
this in the lawsuit - but explained that it was for the benefit of the
customer - sort of like in the 1980's when Microsoft pretty much
disabled WordPerfect with every new OS release.
and yes, different optimization setting will give different results,
32 bit will also give different results from 64 bit. Sometimes the
phase of the moon, or the users astrological sign makes a different as
well ;-) Below is from the settlement:
Intel shall not include any Artificial Performance Impairment in any
Intel product or require any Third Party to include an Artificial
Performance Impairment in the Third Party’s product. As used in this
Section 2.3, “_Artificial Performance Impairment_” means an
affirmative engineering or design action by Intel (but not a failure
to act) that (i) degrades the performance or operation of a Specified
AMD product, (ii) is not a consequence of an Intel Product Benefit and
(iii) is made intentionally to degrade the performance or operation of
a Specified AMD Product. For purposes of this Section 2.3, “_Product
Benefit_” shall mean any benefit, advantage, or improvement in terms
of performance, operation, price, cost, manufacturability,
reliability, compatibility, or ability to operate or enhance the
operation of another product.
In no circumstances shall this Section 2.3 impose or be construed to
impose any obligation on Intel to (i) take any act that would provide
a Product Benefit to any AMD or other non-Intel product, either when
such AMD or non-Intel product is used alone or in combination with any
other product, (ii) optimize any products for Specified AMD Products,
or (iii) provide any technical information, documents, or know how
to AMD.
But, it is generally accepted that Intel continues to impair the
optimization on AMD CPU.
So, to answer your question, I don't think there is any way to insure
consistent results between Intel and AMD CPUs.
Mark
Mark Sale MD
President, Next Level Solutions, LLC
www.NextLevelSolns.com<http://www.NextLevelSolns.com>
919-846-9185
A carbon-neutral company
See our real time solar energy production at:
http://enlighten.enphaseenergy.com/public/systems/aSDz2458
--
Nick Holford, Professor Clinical Pharmacology
First World Conference on Pharmacometrics, 5-7 September 2012 Seoul,
Korea http://www.go-wcop.org
Dept Pharmacology& Clinical Pharmacology, Bldg 505 Room 202D
University of Auckland,85 Park Rd,Private Bag 92019,Auckland,New Zealand
tel:+64(9)923-6730 fax:+64(9)373-7090 mobile:+64(21)46 23 53
email: n.holf...@auckland.ac.nz
http://www.fmhs.auckland.ac.nz/sms/pharmacology/holford
_________________________________________________________________
NOTICE: The information contained in this electronic mail message is
intended only for the personal and confidential use of the designated
recipient(s) named above. This message may be an attorney-client
communication, may be protected by the work product doctrine, and may
be subject to a protective order. As such, this message is privileged
and confidential. If the reader of this message is not the intended
recipient or an agent responsible for delivering it to the intended
recipient, you are hereby notified that you have received this
message in error and that any review, dissemination, distribution, or
copying of this message is strictly prohibited. If you have received
this communication in error, please notify us immediately by
telephone and e-mail and destroy any and all copies of this message
in your possession (whether hard copies or electronically stored
copies). Thank you.
--
Nick Holford, Professor Clinical Pharmacology
First World Conference on Pharmacometrics, 5-7 September 2012
Seoul, Korea http://www.go-wcop.org
Dept Pharmacology & Clinical Pharmacology, Bldg 505 Room 202D
University of Auckland,85 Park Rd,Private Bag 92019,Auckland,New Zealand
tel:+64(9)923-6730 fax:+64(9)373-7090 mobile:+64(21)46 23 53
email: n.holf...@auckland.ac.nz
http://www.fmhs.auckland.ac.nz/sms/pharmacology/holford