{"id":2291,"date":"2019-02-15T16:06:02","date_gmt":"2019-02-15T16:06:02","guid":{"rendered":"http:\/\/ri.itservices.manchester.ac.uk\/csf3\/?page_id=2291"},"modified":"2026-10-06T18:46:52","modified_gmt":"2026-10-06T17:46:52","slug":"dlmeso","status":"publish","type":"page","link":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/software\/applications\/dlmeso\/","title":{"rendered":"DL_MESO"},"content":{"rendered":"<h2>Overview<\/h2>\n<p>DL_MESO is a general purpose mesoscale simulation package which supports both Lattice Boltzmann Equation (LBE) and Dissipative Particle Dynamics (DPD) methods.<\/p>\n<p>Version 2.8 is now available. It was compiled with Intel oneAPI 2024.2.0. It has additional DPD executables which can be run on GPUs. All utilities are also available.<\/p>\n<p>Version 2.7.x is available. It was compiled with Intel 17 compilers (-msse4.2 -axCORE-AVX512,CORE-AVX2,AVX) . A version of DPD has been compiled with FFTW3 (see below). Utilities were compiled with the default GNU 4.8.5 compiler.<\/p>\n<p>Version 2.6 is available and has been compiled with Intel 17 compilers.<\/p>\n<p>The java interface is not available in any version.<\/p>\n<h2>Restrictions on use<\/h2>\n<p>Whilst the software is free for academic usage there are limitations within the <a href=\"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-content\/uploads\/DL_MESO_LICENCE.txt\">DL_MESO license agreement<\/a> which must be strictly adhered to by users. All users who wish to use the software must request access to the &#8216;dlmeso&#8217; unix group. A copy of the full license is also available on the CSF in <code>$dlmeso_home\/$dlmeso_ver\/LICENCE<\/code>. Important points to note are:<\/p>\n<ul>\n<li>No industrially-funded work must be undertaken using the software. See clauses 2.1.3 and 2.2 of the license.<\/li>\n<li>The software is only available to Staff and Students of the University of Manchester. Users are reminded that they must not share their password with anyone, or allow anyone else to utlise their account.<\/li>\n<li>Citation of the software must appear in any published work. See clause 4.2 for the required text.<\/li>\n<\/ul>\n<p>There is no access to the source code on the CSF.<\/p>\n<p>To get access to the software please <a href=\"\/csf3\/overview\/help\/\">contact us<\/a> to confirm that your work will meet the above T&amp;Cs.<\/p>\n<h2>Set up procedure<\/h2>\n<p>Once you have been added to the unix group please load ONE of the following modulefiles:<\/p>\n<pre>\r\nmodule load apps\/intel-oneapi-2024.2.0\/dl_meso\/2.8_gpu\r\nmodule load apps\/intel-17.0\/dl_meso\/2.7.10\r\nmodule load apps\/intel-17.0\/dl_meso\/2.7.5\r\nmodule load apps\/intel-17.0\/dl_meso\/2.7.4\r\nmodule load apps\/intel-17.0\/dl_meso\/2.7\r\nmodule load apps\/intel-17.0\/dl_meso\/2.6\r\n<\/pre>\n<h2>Running the application<\/h2>\n<p>You will notice that there are some differences between the User Manual and the CSF installation, in particular the naming of the executables. The tables below show the main executables that are available.<br \/>\nYou can see full list of available executables, including utilities by running: <strong><code>ls -l $dlmeso_home\/bin\/<\/code><\/strong> after loading the desired module.<\/p>\n<p>DL_MESO v2.8 executables:<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Executable<\/strong><\/td>\n<td><strong>Simulation<\/strong><\/td>\n<\/tr>\n<tr>\n<td>slbe.exe<\/td>\n<td>Serial LBE<\/td>\n<\/tr>\n<tr>\n<td>plbe.exe<\/td>\n<td>Parallel LBE (uses MPI &#8211; single and multi-node jobs)<\/td>\n<\/tr>\n<tr>\n<td>sdpd.exe<\/td>\n<td>Serial DPD<\/td>\n<\/tr>\n<tr>\n<td>pdpd.exe<\/td>\n<td>Parallel DPD (uses MPI &#8211; single and multi-node jobs)<\/td>\n<\/tr>\n<tr>\n<td>pdpd-omp.exe<\/td>\n<td>Parallel DPD (uses OpenMP &#8211; single-node multi-threaded jobs)<\/td>\n<\/tr>\n<tr>\n<td>dpd_gpu_l40s.exe<\/td>\n<td>L40s GPU enabled version of DPD<\/td>\n<\/tr>\n<tr>\n<td>dpd_gpu_a100.exe<\/td>\n<td>A100 GPU enabled version of DPD<\/td>\n<\/tr>\n<tr>\n<td>dpd_gpu_h200.exe<\/td>\n<td>H200 GPU enabled version of DPD<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>DL_MESO v2.7 executables:<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Executable<\/strong><\/td>\n<td><strong>Simulation<\/strong><\/td>\n<\/tr>\n<tr>\n<td>slbe.exe<\/td>\n<td>Serial LBE<\/td>\n<\/tr>\n<tr>\n<td>plbe.exe<\/td>\n<td>Parallel LBE (uses MPI &#8211; single and multi-node jobs)<\/td>\n<\/tr>\n<tr>\n<td>plbe-omp.exe<\/td>\n<td>Parallel LBE (uses OpenMP &#8211; single-node multi-threaded jobs)<\/td>\n<\/tr>\n<tr>\n<td>sdpd.exe<\/td>\n<td>Serial DPD<\/td>\n<\/tr>\n<tr>\n<td>pdpd-mpi-fftw-double.exe<\/td>\n<td>Parallel DPD (uses MPI &amp; Double Precision FFTW3 &#8211; single and multi-node jobs)<\/td>\n<\/tr>\n<tr>\n<td>pdpd.exe<\/td>\n<td>Parallel DPD (uses MPI &#8211; single and multi-node jobs)<\/td>\n<\/tr>\n<tr>\n<td>pdpd-omp.exe<\/td>\n<td>Parallel DPD (uses OpenMP &#8211; single-node multi-threaded jobs)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>DL_MESO v2.6 executables:<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Executable<\/strong><\/td>\n<td><strong>Simulation<\/strong><\/td>\n<\/tr>\n<tr>\n<td>slbe.exe<\/td>\n<td>Serial LBE<\/td>\n<\/tr>\n<tr>\n<td>plbe.exe<\/td>\n<td>Parallel LBE (uses MPI &#8211; single and multi-node jobs)<\/td>\n<\/tr>\n<tr>\n<td>plbe-omp.exe<\/td>\n<td>Parallel LBE (uses OpenMP &#8211; single-node multi-threaded jobs)<\/td>\n<\/tr>\n<tr>\n<td>sdpd.exe<\/td>\n<td>Serial DPD<\/td>\n<\/tr>\n<tr>\n<td>pdpd.exe<\/td>\n<td>Parallel DPD (uses MPI &#8211; single and multi-node jobs)<\/td>\n<\/tr>\n<tr>\n<td>pdpd-omp.exe<\/td>\n<td>Parallel DPD (uses OpenMP &#8211; single-node multi-threaded jobs)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Example Batch Jobs<\/h2>\n<h2>Serial Batch job examples<\/h2>\n<h3>Serial LBE batch job submission<\/h3>\n<ul>\n<li>Set up a directory from which your job will run, with all the required input files in it.<\/li>\n<li>Write a job submission script, for example, in a file called <code>jobscript<\/code>:<\/li>\n<\/ul>\n<pre>#!\/bin\/bash --login\r\n#SBATCH -p serial\r\n#SBATCH -t 1-0\r\n\r\nmodule purge\r\nmodule load apps\/intel-17.0\/dl_meso\/2.7\r\n\r\nslbe.exe > OUTPUT\r\n<\/pre>\n<ul>\n<li>Submit: <code>sbatch jobscript<\/code><\/li>\n<\/ul>\n<h3>Serial DPD batch job submission<\/h3>\n<ul>\n<li>Set up a directory from which your job will run, with all the required input files in it.<\/li>\n<li>Write a job submission script, for example, in a file called <code>jobscript<\/code>:<\/li>\n<\/ul>\n<pre>#!\/bin\/bash --login\r\n#SBATCH -p serial\r\n#SBATCH -t 1-0\r\n\r\nmodule purge\r\nmodule load apps\/intel-17.0\/dl_meso\/2.7\r\n\r\nsdpd.exe > OUTPUT\r\n<\/pre>\n<ul>\n<li>Submit: <code>sbatch jobscript<\/code><\/li>\n<\/ul>\n<h2>Parallel (multi-core) Batch job examples<\/h2>\n<p>It is highly recommended that you run scaling tests on 2,4,6,8,10,12,16,18,20,22,24,&#8230;40 cores before moving on to running larger jobs to see how well your job performs as the number of cores increases.<\/p>\n<h3>Parallel LBE batch job submission &#8211; 2 to 40 cores using MPI<\/h3>\n<ul>\n<li>Make sure you have the dl_meso and non-ib mpi modulefile loaded.<\/li>\n<li>Set up a directory from which your job will run, with all the required input files in it.<\/li>\n<li>Write a job submission script, for example, in a file called <code>jobscript<\/code> and asking for 8 cores:<\/li>\n<\/ul>\n<pre>#!\/bin\/bash --login\r\n#SBATCH -p multicore_small\r\n#SBATCH -n 8\r\n#SBATCH -t 1-0\r\n\r\nmodule purge\r\nmodule load apps\/intel-17.0\/dl_meso\/2.7\r\n\r\nmpirun -n $SLURM_NTASKS plbe.exe > OUTPUT\r\n<\/pre>\n<ul>\n<li>Submit: <code>sbatch jobscript<\/code><\/li>\n<\/ul>\n<h3>Parallel LBE batch job submission &#8211; 2 to 40 cores using OpenMP<\/h3>\n<ul>\n<li>Set up a directory from which your job will run, with all the required input files in it.<\/li>\n<li>Write a job submission script, for example, in a file called <code>jobscript<\/code> and asking for 8 cores:<\/li>\n<\/ul>\n<pre>#!\/bin\/bash --login\r\n#SBATCH -p multicore_small\r\n#SBATCH -n 8\r\n#SBATCH -t 1-0\r\n\r\nmodule purge\r\nmodule load apps\/intel-17.0\/dl_meso\/2.7\r\n\r\nexport OMP_NUM_THREADS=$SLURM_NTASKS\r\nplbe-omp.exe > OUTPUT\r\n<\/pre>\n<ul>\n<li>Submit: <code>sbatch jobscript<\/code><\/li>\n<\/ul>\n<h3>Parallel DPD batch job submission &#8211; 2 to 40 cores using MPI<\/h3>\n<ul>\n<li>Set up a directory from which your job will run, with all the required input files in it.<\/li>\n<li>Write a job submission script, for example, in a file called <code>jobscript<\/code> and asking for 12 cores:<\/li>\n<\/ul>\n<pre>#!\/bin\/bash --login\r\n#SBATCH -p multicore_small\r\n#SBATCH -n 12\r\n#SBATCH -t 1-0\r\n\r\nmodule purge\r\nmodule load apps\/intel-17.0\/dl_meso\/2.7\r\n\r\nmpirun -n $SLURM_NTASKS pdpd.exe > OUTPUT\r\n<\/pre>\n<ul>\n<li>Submit: <code>sbatch jobscript<\/code><\/li>\n<\/ul>\n<h3>Parallel DPD batch job submission &#8211; 2 to 40 cores using OpenMP<\/h3>\n<ul>\n<li>Set up a directory from which your job will run, with all the required input files in it.<\/li>\n<li>Write a job submission script, for example, in a file called <code>jobscript<\/code> and asking for 12 cores:<\/li>\n<\/ul>\n<pre>#!\/bin\/bash --login\r\n#SBATCH -p multicore_small\r\n#SBATCH -n 12\r\n#SBATCH -t 1-0\r\n\r\nmodule purge\r\nmodule load apps\/intel-17.0\/dl_meso\/2.7\r\n\r\nexport OMP_NUM_THREADS=$SLURM_NTASKS\r\npdpd-omp.exe > OUTPUT\r\n<\/pre>\n<ul>\n<li>Submit: <code>sbatch jobscript<\/code><\/li>\n<\/ul>\n<p><!---\n\n\n<h3>Parallel batch job submissions for more jobs of 24 cores or more and a multiple of 24<\/h3>\n\n\n\n\n<ul>\n \t\n\n<li>As above, but replace <code>smp.pe<\/code> with <code>orte-24-ib.pe<\/code> and an integer equal to or greater than 48 which is a multiple of 24.<\/li>\n\n\n \t\n\n<li>Please ensure you have done some scaling first on 2, 4, 6 etc cores to ensure that you are seeing a benefit from increasing the number of cores.<\/li>\n\n\n<\/ul>\n\n\n---><\/p>\n<h3>DPD GPU batch job submission<\/h3>\n<ul>\n<li>The GPU enabled DPD executables are for running on single GPU only.<\/li>\n<li>Only DPD can use GPU and this feature is only available in <strong><code>2.8_gpu<\/code><\/strong> module<\/li>\n<li>DEMO files are available in <code>$APPDIR\/DEMO<\/code> directory.<\/li>\n<li>Set up a directory from which your job will run, with all the required input files in it.<\/li>\n<li>Write a job submission script, for example, in a file called <code>jobscript<\/code> and asking for 8 cores and 1 GPU:<\/li>\n<\/ul>\n<pre>#!\/bin\/bash --login\r\n#SBATCH -p gpuL\r\n#SBATCH -G 1\r\n#SBATCH -t 1\r\n#SBATCH -n 8\r\n\r\nmodule purge\r\nmodule load apps\/intel-oneapi-2024.2.0\/dl_meso\/2.8_gpu\r\n\r\n# <a href=\"#Running_the_application\">Refer above 2.8_gpu module executable list<\/a>, use dpd_gpu_XXXX.exe \r\n# version for the GPU type you have requested.\r\ndpd_gpu_l40s.exe > OUTPUT\r\n\r\n<\/pre>\n<ul>\n<li>Submit: <code>sbatch jobscript<\/code><\/li>\n<h2>Further info:<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.ccp5.ac.uk\/DL_MESO\/\" target=\"_blank\">DL_MESO Homepage<\/a><\/li>\n<li><a href=\"https:\/\/dl-sdg.github.io\/\" target=\"_blank\">DL_Software Digital Guide containing Tutorials and practical exercises in using DL_MESO.<\/a><\/li>\n<li>Example data and cases can be found in <code>$dlmeso_home\/DEMO<\/code><\/li>\n<li>User Manual can be seen here <code>$dlmeso_home\/MAN\/USRMAN.pdf<\/code><\/li>\n<\/ul>\n<h2>Updates:<\/h2>\n<p> None<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview DL_MESO is a general purpose mesoscale simulation package which supports both Lattice Boltzmann Equation (LBE) and Dissipative Particle Dynamics (DPD) methods. Version 2.8 is now available. It was compiled with Intel oneAPI 2024.2.0. It has additional DPD executables which can be run on GPUs. All utilities are also available. Version 2.7.x is available. It was compiled with Intel 17 compilers (-msse4.2 -axCORE-AVX512,CORE-AVX2,AVX) . A version of DPD has been compiled with FFTW3 (see below)&#8230; <a href=\"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/software\/applications\/dlmeso\/\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":86,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2291","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/pages\/2291","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/comments?post=2291"}],"version-history":[{"count":21,"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/pages\/2291\/revisions"}],"predecessor-version":[{"id":12790,"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/pages\/2291\/revisions\/12790"}],"up":[{"embeddable":true,"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/pages\/86"}],"wp:attachment":[{"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/media?parent=2291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}