There are 2 ways to submit jobs.
If you use bwsubmit, it will submit a job that will allow you to use 1 processor core and up to 8GB of RAM. The run time limit is 1 day (24 hours) for these jobs. This is meant for people who need to run many quick scripts. If your code runs for more than 1 day or you need more than 8GB of RAM, you should to use parallel programming and run with bwsubmit_multi. Because the limit is 1 day, you can use 50 cores at a time. There is a seperate machine and queue for 1 processor jobs, so 128 total cores are available all users combined. After 128 cores are in use, jobs will queue up. Job run times may vary significantly because hyper-threading is enabled on this machine to utilize it completely.
If you use bwsubmit_multi, you can schedule a job using 4, 8, or 16 processor cores each and 8GB of RAM for each processor core. Request multiple processors to get more memory allocation, even if you do not use the cores. Your job will also be limited to the number of processors you request. If you try to use more than you have requested, the performance of your program will suffer greatly. The BLAS/LAPACK libraries will automatically use the number of cores you request.Important Notes: If your program uses more than the allocated amount of RAM, or your job runs for more than 1 day with bwsubmit, 10 days with bwsubmit_multi, the scheduler will kill your job. You can have up to 32 cores worth of jobs running at a time (16 max per job). If the cluster fills up completely, it will limit everyone to 16 cores running at a time to try to serve more people. It automatically adjusts every hour. Do not submit jobs under other users names to bypass the per user core limit. This is a violation of NC State policies and both accounts will be heavily restricted or removed from the cluster.
Other useful commands: