Java
Introduction
Java is one of the most popular programming languages, particularly for client-server web applications, often preferred over other options for faster code development, higher code reliability and easy portability. Although not often used in scientific programming, Java is nevertheless the language in which some applications are written (e.g. Beast, a Bayesian MCMC analysis application for molecular sequences) or in which researchers choose to develop their own codes.
Module information:
module spider java
----------------------------------------------------------------------------
Java:
----------------------------------------------------------------------------
Description:
Java Platform, Standard Edition (Java SE) lets you develop and deploy
Java applications on desktops and servers.
Versions:
Java/1.7.0_60
Java/1.8.0_131
Java/1.8.0_241
Java/11.0.2
Multi-threaded Java applications
Java applications can benefit from faster execution on modern multi-core machines through using multiple execution threads, and Java provides built-in support for multithreaded programming. A multithreaded program contains two or more threads (each defining a separate path of execution) that can run concurrently. Multi-threaded programming in Java is beyond the scope of this guide and users are invited to start with one of the numerous web tutorials available on the matter, e.g. http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html
Example submission script:
#!/bin/bash
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=48
#SBATCH --time=00:10:00
#SBATCH --job-name=threadedTest
module purge
# Use latest Java version
module load Java
myApplication -threads ${SLURM_NTASKS} -input myAppInput.txt -output myAppOutput.txt
In the above example, myApplication
myAppinput
and myAppOutput
should be substituted for the appropriate names of your Java application and data files.