Stata is a general purpose data analysis and statistical package used by researchers from differing backgrounds. Further information can be found here. We have multiple versions of Stata installed.
Using the single core SE version of Stata on the Cluster
If you have Stata installed locally on your PC, it is probable that it's the SE version. SE executes your Stata code, on a single core only. If you have Stata tasks which don't take particularly long to run, then this is probably the best version for you to use.
It is possible to use Stata 16 SE in a variety of ways:
- interactive (with Graphical User Interface - Single Core) - Stata16
- batch mode (without Graphical User Interface - Single Core) - Stata16
Using the Multi Core MP version of Stata on the Cluster
It is possible to have your code execute on more than one core at any one time. ADA currently has Stata16 and Stata16 MP16 available, which represents the possibility of having your code executed on 16 cores simultaneously. Running your tasks in this fashion can offer significant performance benefits. Please see the following guide, which details theoretical performance gains.
During testing on HPC, we found that "Parallelizable" jobs which normally ran for 2-3 hours on a computer running SE version, were taking around 20 minutes running on the MP version on HPC. Similarly jobs which were taking 4-5 days were taking around 9 hours to run, with Stata MP. We haven't run these tests on ADA but would expect a comparable speedup
Stata 16 MP16 submission script
#SBATCH -p compute
#SBATCH -o stata-test-%J.out
#SBATCH -e stata-test-%J.err
module add stata/16
stata-mp -b do stata16_example.do
If you have any further questions please email hpc.admin
|xstata-se||Starts Stata in GUI driven mode (Single cores)|
|stata-se||Starts Stata in non GUI driven mode (Single core)|
|xstata-mp||Starts Stata in GUI driven mode (Multiple core)|
|stata-mp||Starts Stata in non GUI driven mode (Multiple core)|
Using Stata on a high memory node
It is possible to use Stata on a high memory node, by altering the queue request, eg:
- #SBATCH -p hmem