OpenMx 1.2 beta released

The beta release of the OpenMx 1.2 series is available for download. Use the alternate installation command in an R terminal source("https://openmx.ssri.psu.edu/getNewOpenMx.R"). The new series of OpenMx is the result of nearly 6 months of development and much feedback from the user community.

In our development cycle a beta-release indicates that each new feature has been tested with some type of validation script in our test repository. However we need to broader community to shake out any final bugs before moving to the OpenMx 1.2.0 release. We always recommend verifying the output against the latest stable version of OpenMx before rushing to publication. A beta release of the documentation for OpenMx 1.2 is available here.

The two primary feature enhancements to the 1.2 series are removing the 'all' argument to mxPath and ordinal full information maximum likelihood is now parallel by default in OpenMx. The parallelization drastically improves efficiency for multi-core machines (most computers currently being used). For more information on expected performance improvements please see here.

We have removed 'all' argument from mxPath function and replaced it with the 'connect' argument. In the OpenMx 1.2.0 release both 'all' and 'connect' will be supported, however, using 'all' is being deprecated because it is unsafe. Please take this opportunity to start using 'connect'. The demos and tests have been updated to start using 'connect'. For more information on the deprecation of 'all' please see here.

Below is the full change log since the OpenMx 1.1.2 release. We have made numerous small improvements and bug fixes.

Beta Release 999.0.0-1876 (Dec 2, 2011)

  • new interface such that 'objective@info$expMean', 'objective@info$expCov' and 'objective@info$likelihoods' are available in FIML or RAM objective functions.
  • bug fix for omxSetParameters with lbound or ubound of NA.
  • Updated mxAlgebra man pages to include omxMnor, omxAllInt, omxExponential.
  • catching unknown matrix operator or function in mxAlgebra() or mxConstraint() declaration
  • updated user guide examples and documentation to reflect new mxPath 'connect' argument.
  • removed 'all' argument from mxPath function and replaced it with 'connect' argument. Also updated demos that used 'all' argument and documentation.
  • removed 'excludeself' argument from mxPath() function
  • added deprecation warning for argument 'all'=TRUE in mxPath()
  • eliminated flattenModelHelper() and replaced with functions that use lapply()
  • changed signature of genericObjModelConvert() to return list(job, flatJob) in order to improve performance
  • added '@likelihoods' slot for MxFIMLObjective and MxRAMObjective (when using raw data)
  • added support for OpenMP in hessian calculation
  • added support for OpenMP in continuous FIML objective function
  • added support for OpenMP in ordinal FIML objective function
  • fixed bug in summary() function, see https://openmx.ssri.psu.edu/thread/1104
  • added more descriptive error message to mxOption()
  • catching illegal references of the form "mzData.ageT1mz"
Replied on Sun, 12/04/2011 - 12:29
Picture of user. mspiegel Joined: 07/31/2009

The Windows binary of this beta-release is not multi-core enabled. I have been unable to determine a method for compiling OpenMP support into the library on Windows without placing a freely available and open source dll library in your path that proves a Posix threading library implementation on Windows (libpthread-2.dll). If OpenMx is compiled with OpenMP on Windows, then the library fails to load if libpthread-2.dll is missing from your path.

If you'd like to compile OpenMx from source on windows with OpenMP support, post a question on the user forums and I'll walk you through the process. If you happen to know who to avoid the problem of libpthread-2.dll, please post of the forums as well. At some point, the R interpreter should come bundled with the nessary dlls for OpenMP support for packages on Windows.