Job Accounting

The charge unit for Delta is the service unit (SU). This corresponds to the equivalent use of one compute core utilizing less than or equal to 2G of memory for one hour, or 1 GPU or fractional GPU using less than the corresponding amount of memory or cores for 1 hour (see table below). Charges are based on the resources that are reserved for your job and do not necessarily reflect how the resources are used. Charges are based on either the number of cores or the fraction of the memory requested, whichever is larger.

Service Unit Equivalents by Node Type

Node Type

Service Unit Equivalence

Cores

GPU Fraction

Host Memory

CPU Node

1

N/A

2 GB

GPU Node

Quad A100

16

1 A100

62.5 GB

Quad A40

16

1 A40

62.5 GB

8-way A100

16

1 A100

250 GB

8-way H200

12

1 H200

250 GB

8-way MI100

16

1 MI100

250 GB

Note that a weighting factor will discount the charge for the reduced-precision A40 nodes, as well as the novel AMD MI100 based node - this will be documented through the ACCESS SU converter.

Also note that 1 GB of memory here means 1e9 bytes (1,000,000,000), not 2^30 bytes (1,073,741,824).

Local Account Charging

Use the accounts command to list the accounts available for charging. CPU and GPU resources will have individual charge names. For example, in the following, bbka-delta-cpu and bbka-delta-gpu are available for user kingda to use for the CPU and GPU resources.

$ accounts
Project Summary for User 'kingda':

Project         Description                    Balance (Hours)    Deposited (Hours)
--------------  ---------------------------  -----------------  -------------------
bbka-delta-gpu  ncsa/delta staff allocation            5000000              5000000
bbka-delta-cpu  ncsa/delta staff allocation          100000000            100000000

Job Accounting Considerations

  • A node-exclusive job that runs on a compute node for one hour will be charged 128 SUs (128 cores x 1 hour)

  • A node-exclusive job that runs on a 4-way GPU node for one hour will be charged 4 SUs (4 GPU x 1 hour)

  • A node-exclusive job that runs on a 8-way GPU node for one hour will be charged 8 SUs (8 GPU x 1 hour)

QOSGrpBillingMinutes

If you see QOSGrpBillingMinutes under the Reason column for the squeue command, as in:

  JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
1204221       cpu    myjob     .... PD       0:00      5 (QOSGrpBillingMinutes)

Then the resource allocation specified for the job (e.g., xyzt-delta-cpu) does not have sufficient balance to run the job based on the number of resources requested and the wall-clock time. Sometimes it may be other jobs from the same project, also in the QOSGrpBillingMinutes state, using the same resource allocation, that are preventing a job that would normally “fit” from running. To resolve this, the PI of the project needs to put in a supplement request using the same XRAS proposal system that was used for the current award, see Allocation Supplements and Extensions.

Reviewing Job Charges for a Project (jobcharge)

jobcharge in /sw/user/scripts/ will show job charges by user for a project. Example usage:

jobcharge_grp.py (click to expand/collapse)

The example jobcharge commands are showing results for the bbka-delta-gpu account. Accounts available to you are listed under “Project” when you run the accounts command.

Delta:dt-login03 ~ $ jobcharge -a bbka-delta-gpu -d 10 --detail | tail -20
144  bbka-delta-gpu  21141133  gpuMI100x8-interactive             0  nan                                                                               csteffen         interactive                                       2026-08-14T10:21:31  nan                  2026-08-14T10:21:31          0      0
145  bbka-delta-gpu  21141134  gpuMI100x8-interactive            10  billing=500,cpu=1,gres/gpu:mi100=1,gres/gpu=1,mem=1000M,node=1                    csteffen         interactive                                       2026-08-14T10:21:45  2026-08-14T10:21:46  2026-08-14T10:21:56        500      0
146  bbka-delta-gpu  21141137  gpuMI100x8-interactive            11  billing=1000,cpu=1,gres/gpu:mi100=2,gres/gpu=2,mem=1000M,node=1                   csteffen         interactive                                       2026-08-14T10:21:58  2026-08-14T10:22:03  2026-08-14T10:22:14       1000      0
147  bbka-delta-gpu  21141141  gpuMI100x8-interactive            19  billing=1500,cpu=1,gres/gpu:mi100=2,gres/gpu:mi210=1,gres/gpu=3,mem=1000M,node=1  csteffen         interactive                                       2026-08-14T10:22:19  2026-08-14T10:22:19  2026-08-14T10:22:38       1500      0.01
148  bbka-delta-gpu  21141145  gpuMI100x8-interactive             0  nan                                                                               csteffen         interactive                                       2026-08-14T10:22:43  nan                  2026-08-14T10:22:56          0      0
149  bbka-delta-gpu  21141806  gpuMI100x8-interactive             0  nan                                                                               csteffen         interactive                                       2026-08-14T10:34:28  nan                  2026-08-14T10:34:58          0      0
150  bbka-delta-gpu  21141822  gpuMI100x8-interactive            12  billing=4000,cpu=1,gres/gpu:mi100=7,gres/gpu:mi210=1,gres/gpu=8,mem=1000M,node=1  csteffen         interactive                                       2026-08-14T10:35:21  2026-08-14T10:35:22  2026-08-14T10:35:34       4000      0.01
____________SUMMARY____________
User               Charge (SU)
---------------  -------------
arnoldg                   0.41
csteffen                  0.02
dadams                    5.15
jingli                    0.05
rbrunner                  0.80
rundall                  28.38
svcdeltajenkins           1.10
svcdeltaswmgt             5.63
yanzhan2                  3.42
Total                    44.96
Delta:dt-login03 ~ $

Delta:dt-login03 ~ $ jobcharge -a bbka-delta-gpu -d 10
Charges for user allusers and account bbka-delta-gpu from 2026-08-04-11:44:20 through 2026-08-14-11:44:20.
User               Charge (SU)
---------------  -------------
arnoldg                   0.41
csteffen                  0.02
dadams                    5.15
jingli                    0.05
rbrunner                  0.80
rundall                  28.38
svcdeltajenkins           1.10
svcdeltaswmgt             5.63
yanzhan2                  3.42
Total                    44.96
Delta:dt-login03 ~ $

Delta:dt-login03 ~ $ jobcharge -h
Usage: jobcharge [-h] [-u USER] [-a ACCOUNT] [-s STARTTIME] [-e ENDTIME] [--detail] [-m MONTH] [-y YEAR] [-d DAYSBACK] [--all]

Optional Arguments:
  -h, --help            show this help message and exit
  -u, --user USER       System user account to get jobcharges for. Defaults to your own user, if no slurm account is specified.
  -a, --account ACCOUNT
                        Slurm account to get jobcharge for. "accounts" command can be used to list your valid accounts.
  -s, --starttime STARTTIME
                        Starting point of the time range to get jobcharges for. Default is one month before the current time.
  -e, --endtime ENDTIME
                        Ending point of the time range to get jobcharges for. Default is the current time.
  --detail, --details   Display the full detailed table of job charges
  -m, --month MONTH     Get jobcharges for a specific month (1-12). Will override start end time arguments
  -y, --year YEAR       Get jobcharges for a specific year. Will override start end time arguments
  -d, --daysback DAYSBACK
                        Get jobcharges from the previous N days. Will take precedence over all other time search arguments
  --all                 By default the jobcharge script will only count jobs that have an end time during the specified time period. Using the --all flag will addtionally include any job that was
                        submitted during the queried time period. This can be useful for including currently running jobs in the count.
Delta:dt-login03 ~ $

Refunds

The Delta project is not able to offer refunds on a job-by-job basis. If compute time balance becomes an issue, the Delta project recommends submitting a supplement request with information supporting the request basis is due to job failures that meet the refund requirement.

Refunds are considered, when appropriate, for jobs that failed due to circumstances beyond user control and typically impact more than a single user.