MLwiN system requirements
MLwiN is developed and tested on Windows 11. It may work on previous versions of Windows, however we are unable to test and therefore support this.
Other minimum requirements
32 Mb RAM; 100Mb hard disk.
The actual amount of memory and disk space required will depend on the data being analysed.
Non-Windows operating system compatibility
If you wish to use the MLwiN estimation engine through scripts (for example by running from R2MLwiN or runmlwin) we provide a command line version of the software (available from here for existing users). This currently supports running on 64-bit versions of Linux, MacOS and FreeBSD.
As an alternative you can run the software within a virtual machine, although this requires a valid Windows license. Several companies provide software for creating and running virtual machines including Oracle Virtualbox, VMWare and Parallels.
Running under Linux
As indicated above, you can use the MLwiN estimation engine through scripts on 64-bit versions of Linux, for example running it from R2MLwiN or runmlwin.
If, however, you wish to operate MLwiN via its Graphical User Interface (GUI), then our limited testing has shown that MLwiN runs well under the Wine (see http://www.winehq.org) compatibility layer. This is usually provided by the distribution's package manager, although you can build it youself by following instructions given in the previous link. Depending on your distribution you may be able to install the setup program directly by double-clicking it and shortcuts may be added automatically your your application launcher. If this is not supported you can install MLwiN by putting the downloaded setup file in the current directory and running:
wine msiexec /i MLwiN.msi
You should then be able to run MLwiN with the command:
wine <full path to mlwin.exe>
If you want to avoid the wine prefix you can use the command as root (some distributions set this automatically when you install Wine):
echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
Running under MacOS
As indicated above, you can use the MLwiN estimation engine through scripts on 64-bit versions of MacOS, for example running it from R2MLwiN or runmlwin. Tom Palmer has kindly provided a blog post on setting this up, which you may find useful.
If, however, you wish to operate MLwiN via its Graphical User Interface (GUI), then please see the MacOS version-specific guidance, below.
Running MLwiN (via GUI) under MacOS 10.8-10.14
If you are running a MacOS version between 10.8 and 10.14 you can run the 32-bit version of MLwiN using the Wine binary packages provided on https://wiki.winehq.org/MacOS. To do this simply follow the instuctions under the heading Installing Depreciated WineHQ packages. Once this is installed you need to place the 32-bit MLwiN setup files into a location of your choice, then open this location in a terminal and run:
wine msiexec /i MLwiN.msi
Once MLwiN is installed you can locate the mlwin.exe file in the directory where you installed MLwiN and double-click it to run MLwiN. You may want to create an alias to this so that you can find it more easily in future.
Running MLwiN (via GUI) under MacOS greater than version 10.14
MacOS 10.15 (Catalina) and higher dropped support for 32-bit appications, preventing the packages provided by http://www.winehq.org from working. We do not currently have a way to test MLwiN on these platforms, however you may have success installing a commercial version of Wine provided by https://www.codeweavers.com/crossover/. There are also some experimental free builds available at https://github.com/Gcenx/macOS_Wine_builds however we are unable to provide any advice or support for these. If you do have success with either of these we would be very interested in hearing about it.
Processor feature support
64 bit windows benefits
Since version 3.00 MLwiN has been available as a 64-bit application. This allows it to make full use of the memory installed on the system, as well as make use of some newer processor instructions.
Multi-core, multi-processor possible benefits
MLwiN has been designed for a single CPU and is single-threaded. In multi-processor environments the most benefit MLwiN would gain would be that it could have one of the CPUs to itself without having to fight with other applications and the operating system. If you run MLwiN via R2MLwiN or Stat-JR then you can take advantage of multiple cores by running parallel MCMC chains.
Redesigning MLwiN to take advantage of multiple processors would be a major undertaking, for which we have no immediate plans.
FAQ: Is it possible to run MLwiN on a Citrix-desktop?
Example question:
We are currently re-designing our network, which means that our MLwiN users will have to access the data MLwiN uses through a Citrix-"window" and they will not be allowed to put the data onto their local hard disk. This means that MLwiN cannot run on their computers but must reside in the secure network, and either be processed on the Citrix-server/Citrix-desktop, or running on a dedicated application-server
Answer:
We do not have a Citrix system here to test MLwiN on, so cannot give a definitive answer, however we have had reports of people using MLwiN successfully on this and similar systems. MLwiN 2.10 should have more success that previous versions as it no longer attempts to write files temporarily to its program directory.
One thing to note is that MLwiN loads the whole data set being analysed into memory, so if your users are running models on large data sets on the same machine you may run into memory issues.
Running more complex models can also be quite CPU intensive. Whether this is an issue for you will depend on the number of processors in your server machine and the number of simultaneous MLwiN users. Each instance of MLwiN can only make use of a single processor, so as long as the number of copies running a model is less than or equal to the number of processors in the machine there should be no slowdown compared with running it on the user's machine.