Interactive Usage
Login nodes are not intendent for heavy computing if you want to do heavy computing interactively, you can request a Slurm interactive session.
Interactive jobs allow a user to interact with applications on the compute nodes. With an interactive job, you request time and resources to work on a compute node directly, which is different to a batch job where you submit your job to a queue for later execution.
You can use two commands to create an interactive session: srun and salloc.
Both of these commands take options similar to sbatch.
Using salloc
Using salloc, you allocate resources and spawn a shell that is then used to 
execute parallel tasks launched with srun. For example, you can allocate 2
nodes for 30 minutes with the command
$ salloc --nodes=2 --account=<project> --time=00:30:00
salloc: Granted job allocation 123456
salloc: Waiting for resource configuration
Once the allocation is made, this command will start a shell on the login
node. You can start parallel execution on the allocated nodes with srun.
srun --ntasks=32 --cpus-per-task=8 ./mpi_openmp_application
After the execution of your application ended, the allocation can be terminated
by exiting the shell (exit). 
When using salloc, a shell is spawn on the login node. If you want to obtain 
a shell on the first allocated compute node you can use  srun --pty. 
srun --cpu_bind=none --nodes=2 --pty bash -i
If you want to use an application with a GUI, you can use the --x11 flag with
srun to enable X11 forwarding.
Using srun
For simple interactive session, you can use srun with no prior allocation. In 
this scenario, srun will first create a resource allocation in which to run 
the job. For example, to allocate 1 node for 30 minutes and spawn a shell
srun --account=<project> --time=00:30:00 --nodes=1 --pty bash