diff --git a/CPAT.wdl b/CPAT.wdl
index e6cef3ea454cbbaec611ee8a45b8fecd7bbe34a8..b96ea0d728d77662ed0cf0ee81bfc423a946c4a5 100644
--- a/CPAT.wdl
+++ b/CPAT.wdl
@@ -34,8 +34,8 @@ task CPAT {
         Array[String]? startCodons
         Array[String]? stopCodons
 
-        String memory = "4G"
-        Int timeMinutes = 10 + ceil(size(gene, "G") * 30)
+        String memory = "4GiB"
+        Int timeMinutes = 10 + ceil(size(gene, "GiB") * 30)
         String dockerImage = "quay.io/biocontainers/cpat:3.0.4--py39hcbe4a3b_0"
     }
 
diff --git a/bam2fastx.wdl b/bam2fastx.wdl
index 0bdccca8db6abfcc9ae3b99c721796a7f0b1af4f..62827fd90989deb74fefb0a5068782b4c2670c40 100644
--- a/bam2fastx.wdl
+++ b/bam2fastx.wdl
@@ -30,7 +30,7 @@ task Bam2Fasta {
 
         String? seqIdPrefix
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 15
         String dockerImage = "quay.io/biocontainers/bam2fastx:1.3.1--hf05d43a_1"
     }
@@ -98,7 +98,7 @@ task Bam2Fastq {
 
         String? seqIdPrefix
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 15
         String dockerImage = "quay.io/biocontainers/bam2fastx:1.3.1--hf05d43a_1"
     }
diff --git a/bcftools.wdl b/bcftools.wdl
index 2bf1c7323dad2b7c45ba1b91380e4f2396d80730..726d2e3793e9dc96c3b7400ce2258553a9199f2c 100644
--- a/bcftools.wdl
+++ b/bcftools.wdl
@@ -47,7 +47,7 @@ task Annotate {
         File? samplesFile
 
         Int threads = 0
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 60 + ceil(size(inputFile, "G"))
         String dockerImage = "quay.io/biocontainers/bcftools:1.10.2--h4f4756c_2"
     }
@@ -138,7 +138,7 @@ task Filter {
         String? softFilter
         String outputPath = "./filtered.vcf.gz"
 
-        String memory = "256M"
+        String memory = "256MiB"
         Int timeMinutes = 1 + ceil(size(vcf, "G"))
         String dockerImage = "quay.io/biocontainers/bcftools:1.10.2--h4f4756c_2"
     }
@@ -186,7 +186,7 @@ task Sort {
         String outputPath = "output.vcf.gz"
         String tmpDir = "./sorting-tmp"
 
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 1 + ceil(size(inputFile, "G")) * 5
         String dockerImage = "quay.io/biocontainers/bcftools:1.10.2--h4f4756c_2"
     }
@@ -261,7 +261,7 @@ task Stats {
         String? userTsTv
 
         Int threads = 0
-        String memory = "256M"
+        String memory = "256MiB"
         Int timeMinutes = 1 + 2* ceil(size(select_all([inputVcf, compareVcf]), "G")) # TODO: Estimate, 2 minutes per GB, refine later.
         String dockerImage = "quay.io/biocontainers/bcftools:1.10.2--h4f4756c_2"
     }
@@ -350,7 +350,7 @@ task View {
         String? exclude
         String? include
 
-        String memory = "256M"
+        String memory = "256MiB"
         Int timeMinutes = 1 + ceil(size(inputFile, "G"))
         String dockerImage = "quay.io/biocontainers/bcftools:1.10.2--h4f4756c_2"
     }
diff --git a/bedtools.wdl b/bedtools.wdl
index 80a281d65e7b560206078f11f0036aae6a90fa9f..fe18ede6fc13a30540ecee4777a410c903a76218 100644
--- a/bedtools.wdl
+++ b/bedtools.wdl
@@ -26,7 +26,7 @@ task Complement {
         File inputBed
         String outputBed = basename(inputBed, "\.bed") + ".complement.bed"
 
-        String memory = "~{512 + ceil(size([inputBed, faidx], "M"))}M"
+        String memory = "~{512 + ceil(size([inputBed, faidx], "MiB"))}MiB"
         Int timeMinutes = 1 + ceil(size([inputBed, faidx], "G"))
         String dockerImage = "quay.io/biocontainers/bedtools:2.23.0--hdbcaa40_3"
     }
@@ -75,7 +75,7 @@ task Coverage {
         File? bIndex
         String outputPath = "./coverage.tsv"
 
-        String memory = "8G"
+        String memory = "8GiB"
         Int timeMinutes = 320
         String dockerImage = "quay.io/biocontainers/bedtools:2.30.0--h7d7f7ad_2"
     }
@@ -120,7 +120,7 @@ task Merge {
         File inputBed
         String outputBed = "merged.bed"
 
-        String memory = "~{512 + ceil(size(inputBed, "M"))}M"
+        String memory = "~{512 + ceil(size(inputBed, "MiB"))}MiB"
         Int timeMinutes = 1 + ceil(size(inputBed, "G"))
         String dockerImage = "quay.io/biocontainers/bedtools:2.23.0--hdbcaa40_3"
     }
@@ -159,7 +159,7 @@ task MergeBedFiles {
         Array[File]+ bedFiles
         String outputBed = "merged.bed"
 
-        String memory = "~{512 + ceil(size(bedFiles, "M"))}M"
+        String memory = "~{512 + ceil(size(bedFiles, "MiB"))}MiB"
         Int timeMinutes = 1 + ceil(size(bedFiles, "G"))
         String dockerImage = "quay.io/biocontainers/bedtools:2.23.0--hdbcaa40_3"
     }
@@ -207,8 +207,8 @@ task Sort {
         File? genome
         File? faidx
 
-        String memory = "~{512 + ceil(size(inputBed, "M"))}M"
-        Int timeMinutes = 1 + ceil(size(inputBed, "G"))
+        String memory = "~{512 + ceil(size(inputBed, "MiB"))}MiB"
+        Int timeMinutes = 1 + ceil(size(inputBed, "GiB"))
         String dockerImage = "quay.io/biocontainers/bedtools:2.23.0--hdbcaa40_3"
     }
 
@@ -267,8 +267,8 @@ task Intersect {
 
         File? faidx # Giving a faidx file will set the sorted option.
 
-        String memory = "~{512 + ceil(size([regionsA, regionsB], "M"))}M"
-        Int timeMinutes = 1 + ceil(size([regionsA, regionsB], "G"))
+        String memory = "~{512 + ceil(size([regionsA, regionsB], "MiB"))}MiB"
+        Int timeMinutes = 1 + ceil(size([regionsA, regionsB], "GiB"))
         String dockerImage = "quay.io/biocontainers/bedtools:2.23.0--hdbcaa40_3"
     }
 
diff --git a/biowdl.wdl b/biowdl.wdl
index dead830383705ee298c2bb018142915bca494b03..f891618e7bc342a1f8bfde31387241811aa4fc31 100644
--- a/biowdl.wdl
+++ b/biowdl.wdl
@@ -32,7 +32,7 @@ task InputConverter {
         Boolean checkFileMd5sums=false
         Boolean old=false
 
-        String memory = "128M"
+        String memory = "128MiB"
         Int timeMinutes = 1
         String dockerImage = "quay.io/biocontainers/biowdl-input-converter:0.3.0--pyhdfd78af_0"
     }
diff --git a/bowtie.wdl b/bowtie.wdl
index 87210dcd393e8b73825af5c0f764bb7f4960195d..7e8175946ec03546706a2ae49d58f06a067d7654 100644
--- a/bowtie.wdl
+++ b/bowtie.wdl
@@ -37,7 +37,7 @@ task Bowtie {
 
         String picardXmx = "4G"
         Int threads = 1
-        String memory = "~{5 + ceil(size(indexFiles, "G"))}G"
+        String memory = "~{5 + ceil(size(indexFiles, "GiB"))}GiB"
         Int timeMinutes = 1 + ceil(size(flatten([readsUpstream, readsDownstream]), "G") * 300 / threads)
         # Image contains bowtie=1.2.2 and picard=2.9.2
         String dockerImage = "quay.io/biocontainers/mulled-v2-bfe71839265127576d3cd749c056e7b168308d56:1d8bec77b352cdcf3e9ff3d20af238b33ed96eae-0"
diff --git a/bwa-mem2.wdl b/bwa-mem2.wdl
index 4566e68c23e69a8a074d7849296962430e13fb60..b3db0ad1504d38824f35917d9ccfbdec6b5824bc 100644
--- a/bwa-mem2.wdl
+++ b/bwa-mem2.wdl
@@ -36,7 +36,7 @@ task Mem {
         
         Int threads = 4
         Int? memoryGb
-        Int timeMinutes = 1 + ceil(size([read1, read2], "G") * 220 / threads)
+        Int timeMinutes = 1 + ceil(size([read1, read2], "GiB") * 220 / threads)
         # Contains bwa-mem2 2.0 bwakit 0.7.17.dev1 and samtools 1.10.
         String dockerImage = "quay.io/biocontainers/mulled-v2-6a15c99309c82b345497d24489bee67bbb76c2f6:1c9c3227b9bf825a8dc9726a25701aa23c0b1f12-0"
     }
@@ -84,7 +84,7 @@ task Mem {
         # One extra thread for bwa-postalt + samtools is not needed.
         # These only use 5-10% of compute power and not always simultaneously.
         cpu: threads
-        memory: "~{select_first([memoryGb, estimatedMemoryGb])}G"
+        memory: "~{select_first([memoryGb, estimatedMemoryGb])}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/bwa.wdl b/bwa.wdl
index 373de6280552d55006d1468af5c67915fd9ca787..d4f4495afbc008023ac8fb138791f2f93952cc14 100644
--- a/bwa.wdl
+++ b/bwa.wdl
@@ -37,7 +37,7 @@ task Mem {
 
         Int threads = 4
         Int? memoryGb
-        Int timeMinutes = 10 + ceil(size([read1, read2], "G") * 300 / threads)
+        Int timeMinutes = 10 + ceil(size([read1, read2], "GiB") * 300 / threads)
         # Contains bwa 0.7.17 bwakit 0.7.17.dev1 and samtools 1.10.
         String dockerImage = "quay.io/biocontainers/mulled-v2-ad317f19f5881324e963f6a6d464d696a2825ab6:c59b7a73c87a9fe81737d5d628e10a3b5807f453-0"
     }
@@ -48,7 +48,7 @@ task Mem {
     Int estimatedSortThreads = if threads == 1 then 1 else 1 + ceil(threads / 4.0)
     Int totalSortThreads = select_first([sortThreads, estimatedSortThreads])
     # BWA needs slightly more memory than the size of the index files (~10%). Add a margin for safety here.
-    Int estimatedMemoryGb = 10 + ceil(size(bwaIndex.indexFiles, "G") * 2) + sortMemoryPerThreadGb * totalSortThreads
+    Int estimatedMemoryGb = 10 + ceil(size(bwaIndex.indexFiles, "GiB") * 2) + sortMemoryPerThreadGb * totalSortThreads
     
     # The bwa postalt script is out commented as soon as usePostalt = false.
     # This hack was tested with bash, dash and ash. It seems that comments in between pipes work for all of them.
@@ -81,7 +81,7 @@ task Mem {
         # One extra thread for bwa-postalt + samtools is not needed.
         # These only use 5-10% of compute power and not always simultaneously.
         cpu: threads
-        memory: "~{select_first([memoryGb, estimatedMemoryGb])}G"
+        memory: "~{select_first([memoryGb, estimatedMemoryGb])}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/ccs.wdl b/ccs.wdl
index 29f1a7f9468cdb72da35b168d4821d430536a319..27db15abe9b4b96316fb71050695ec05e945b99a 100644
--- a/ccs.wdl
+++ b/ccs.wdl
@@ -42,7 +42,7 @@ task CCS {
         String? chunkString
 
         Int threads = 2
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 1440
         String dockerImage = "quay.io/biocontainers/pbccs:6.0.0--h9ee0642_2"
     }
diff --git a/centrifuge.wdl b/centrifuge.wdl
index 07dc7f853c2fa86a6d768cc010857f4ffdb5f388..757af2390d5aaef96ab93f64ca2b0d29b139a29f 100644
--- a/centrifuge.wdl
+++ b/centrifuge.wdl
@@ -36,7 +36,7 @@ task Build {
         File? sizeTable
 
         Int threads = 5
-        String memory = "20G"
+        String memory = "20GiB"
         Int timeMinutes = 2880
         String dockerImage = "quay.io/biocontainers/centrifuge:1.0.4_beta--he513fc3_5"
     }
@@ -109,7 +109,7 @@ task Classify {
         String? excludeTaxIDs
 
         Int threads = 4
-        String memory = "16G"
+        String memory = "16GiB"
         Int timeMinutes = 2880
         String dockerImage = "quay.io/biocontainers/centrifuge:1.0.4_beta--he513fc3_5"
     }
@@ -186,7 +186,7 @@ task Inspect {
 
         Int? across
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 1
         String dockerImage = "quay.io/biocontainers/centrifuge:1.0.4_beta--he513fc3_5"
     }
@@ -245,7 +245,7 @@ task KReport {
         Int? minimumScore
         Int? minimumLength
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 10
         String dockerImage = "quay.io/biocontainers/centrifuge:1.0.4_beta--he513fc3_5"
     }
@@ -303,7 +303,7 @@ task KTimportTaxonomy {
         File inputFile
         String outputPrefix
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 1
         String dockerImage = "biocontainers/krona:v2.7.1_cv1"
     }
diff --git a/chunked-scatter.wdl b/chunked-scatter.wdl
index 66954c36ebe723e5ef78e759684ca1a43deceedc..af24b1390f2f902faf31497080f523fd3fdba1b1 100644
--- a/chunked-scatter.wdl
+++ b/chunked-scatter.wdl
@@ -30,7 +30,7 @@ task ChunkedScatter {
         Int? overlap
         Int? minimumBasesPerFile
 
-        String memory = "256M"
+        String memory = "256MiB"
         Int timeMinutes = 2
         String dockerImage = "quay.io/biocontainers/chunked-scatter:1.0.0--py_0"
     }
@@ -84,7 +84,7 @@ task ScatterRegions {
 
         Int? scatterSize
 
-        String memory = "256M"
+        String memory = "256MiB"
         Int timeMinutes = 2
         String dockerImage = "quay.io/biocontainers/chunked-scatter:1.0.0--py_0"
     }
diff --git a/clever.wdl b/clever.wdl
index 186be514a1a8dfd5e71760b92a9c7fda7b604a70..791a0ba1506261e78c7a06963160f44fdc2df6ed 100644
--- a/clever.wdl
+++ b/clever.wdl
@@ -34,7 +34,7 @@ task Mateclever {
         Int maxOffset = 150
 
         Int threads = 10
-        String memory = "15G"
+        String memory = "15GiB"
         Int timeMinutes = 600
         String dockerImage = "quay.io/biocontainers/clever-toolkit:2.4--py36hcfe0e84_6"
     }
@@ -94,7 +94,7 @@ task Prediction {
         String outputPath = "./clever"
 
         Int threads = 10
-        String memory = "55G"
+        String memory = "55GiB"
         Int timeMinutes = 480
         String dockerImage = "quay.io/biocontainers/clever-toolkit:2.4--py36hcfe0e84_6"
     }
diff --git a/collect-columns.wdl b/collect-columns.wdl
index 3d65c7e7477bdd90793480cd3353d41c85c24729..03ccb6f79f74ed2d664829fda6bb65946911656a 100644
--- a/collect-columns.wdl
+++ b/collect-columns.wdl
@@ -62,7 +62,7 @@ task CollectColumns {
     }
 
     runtime {
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/common.wdl b/common.wdl
index 1e4fc8cbac6317db2dd44276e50e99ebe031d90e..1ce2895fc2ebe1f35492682b1c5f1b6d20225b2e 100644
--- a/common.wdl
+++ b/common.wdl
@@ -25,7 +25,7 @@ task AppendToStringArray {
         Array[String] array
         String string
         
-        String memory = "1G"
+        String memory = "1GiB"
     }
 
     command {
@@ -51,7 +51,7 @@ task CheckFileMD5 {
         # By default cromwell expects /bin/bash to be present in the container.
         # The 'bash' container does not fill this requirement. (It is in /usr/local/bin/bash)
         # Use a stable version of debian:stretch-slim for this. (Smaller than ubuntu)
-        String memory = "1G"
+        String memory = "1GiB"
         String dockerImage = "debian@sha256:f05c05a218b7a4a5fe979045b1c8e2a9ec3524e5611ebfdd0ef5b8040f9008fa"
     }
 
@@ -75,7 +75,7 @@ task ConcatenateTextFiles {
         Boolean unzip = false
         Boolean zip = false
 
-        String memory = "1G"
+        String memory = "1GiB"
     }
 
     # When input and output is both compressed decompression is not needed.
@@ -104,7 +104,7 @@ task Copy {
         Boolean recursive = false
 
         # Version not that important as long as it is stable.
-        String memory = "1G"
+        String memory = "1GiB"
         String dockerImage = "debian@sha256:f05c05a218b7a4a5fe979045b1c8e2a9ec3524e5611ebfdd0ef5b8040f9008fa"
     }
 
@@ -132,7 +132,7 @@ task CreateLink {
         String inputFile
         String outputPath
 
-        String memory = "1G"
+        String memory = "1GiB"
     }
 
     command {
@@ -170,7 +170,7 @@ task GetSamplePositionInArray {
 
     runtime {
         # 4 gigs of memory to be able to build the docker image in singularity.
-        memory: "4G"
+        memory: "4GiB"
         docker: dockerImage
         timeMinutes: 5
     }
@@ -190,7 +190,7 @@ task MapMd5 {
     input {
         Map[String,String] map
 
-        String memory = "1G"
+        String memory = "1GiB"
         String dockerImage = "debian@sha256:f05c05a218b7a4a5fe979045b1c8e2a9ec3524e5611ebfdd0ef5b8040f9008fa"
     }
 
@@ -214,7 +214,7 @@ task StringArrayMd5 {
     input {
         Array[String] stringArray
 
-        String memory = "1G"
+        String memory = "1GiB"
         String dockerImage = "debian@sha256:f05c05a218b7a4a5fe979045b1c8e2a9ec3524e5611ebfdd0ef5b8040f9008fa"
     }
 
@@ -238,7 +238,7 @@ task TextToFile {
         String text
         String outputFile = "out.txt"
 
-        String memory = "1G"
+        String memory = "1GiB"
         Int timeMinutes = 1
         String dockerImage = "debian@sha256:f05c05a218b7a4a5fe979045b1c8e2a9ec3524e5611ebfdd0ef5b8040f9008fa"
     }
@@ -274,7 +274,7 @@ task YamlToJson {
         File yaml
         String outputJson = basename(yaml, "\.ya?ml$") + ".json"
 
-        String  memory = "128M"
+        String  memory = "128MiB"
         Int timeMinutes = 1
         # biowdl-input-converter has python and pyyaml.
         String dockerImage = "quay.io/biocontainers/biowdl-input-converter:0.3.0--pyhdfd78af_0"
diff --git a/cutadapt.wdl b/cutadapt.wdl
index b49a95d46dc64be3abe018fc0157fa250eaeba08..9a67692c32bff528963b35b9d4cf126c29c213cb 100644
--- a/cutadapt.wdl
+++ b/cutadapt.wdl
@@ -83,7 +83,7 @@ task Cutadapt {
         Boolean? noZeroCap
 
         Int cores = 4
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 1 + ceil(size([read1, read2], "G")  * 12.0 / cores)
         String dockerImage = "quay.io/biocontainers/cutadapt:2.10--py37hf01694f_1"
     }
diff --git a/deconstructsigs.wdl b/deconstructsigs.wdl
index ef47e3e3d821d18ec2bbbcd46d58d87ba224f6c3..c44bf9c08f4b80078f7371c8b8ae3d38f5ddd7b0 100644
--- a/deconstructsigs.wdl
+++ b/deconstructsigs.wdl
@@ -27,7 +27,7 @@ task DeconstructSigs {
         String outputPath = "./signatures.rds"
 
         Int timeMinutes = 15
-        String memory = "4G"
+        String memory = "4GiB"
         String dockerImage = "quay.io/biocontainers/r-deconstructsigs:1.9.0--r41hdfd78af_1"
     }
 
diff --git a/deepvariant.wdl b/deepvariant.wdl
index 28aee813b170590aaf233b5fb912bff0d180b823..25d05bd9cb3d15584b92909d29afece94e2df0b1 100644
--- a/deepvariant.wdl
+++ b/deepvariant.wdl
@@ -37,7 +37,7 @@ task RunDeepVariant {
         String? sampleName
         Boolean? VCFStatsReport = true
 
-        String memory = "3G"
+        String memory = "3GiB"
         Int timeMinutes = 5000
         String dockerImage = "google/deepvariant:1.0.0"
     }
diff --git a/delly.wdl b/delly.wdl
index bf00ed36453fe699daa90b1623408d1b9087cb65..7333c5ff4247943f7a4c53bb8b8b5fdd128640e6 100644
--- a/delly.wdl
+++ b/delly.wdl
@@ -28,7 +28,7 @@ task CallSV {
         File referenceFastaFai
         String outputPath = "./delly/delly.bcf"
 
-        String memory = "15G"
+        String memory = "15GiB"
         Int timeMinutes = 300
         String dockerImage = "quay.io/biocontainers/delly:0.8.1--h4037b6b_1"
     }
diff --git a/duphold.wdl b/duphold.wdl
index 80fe31d23bcfa8bc8a68c777005411615a441b2e..0426da567e6a8e3171b3aeae72f12b99a29b6577 100644
--- a/duphold.wdl
+++ b/duphold.wdl
@@ -30,7 +30,7 @@ task Duphold {
         String sample
         String outputPath = "./duphold.vcf"
 
-        String memory = "15G"
+        String memory = "15GiB"
         Int timeMinutes = 1440
         String dockerImage = "quay.io/biocontainers/duphold:0.2.1--h516909a_1"
     }
diff --git a/extractSigPredictHRD.wdl b/extractSigPredictHRD.wdl
index 2b5d97815bc74fd35f127b1e02a7855acb6042a3..1520b608c149b029e726d48874f50ee2473d9f1d 100644
--- a/extractSigPredictHRD.wdl
+++ b/extractSigPredictHRD.wdl
@@ -30,7 +30,7 @@ task ExtractSigPredictHRD {
         File svVcfIndex
         Boolean hg38 = false
 
-        String memory = "3G"
+        String memory = "3GiB"
         Int timeMinutes = 10
         String dockerImage = "quay.io/biowdl/chord-mutsigextractor:2.00_1.14"
     }
diff --git a/fastqc.wdl b/fastqc.wdl
index 3a07db4e498ec2f37b03013efe6cdb590912eaa5..d821e531dcfba63ab8d47875c5444e0f9d558b4d 100644
--- a/fastqc.wdl
+++ b/fastqc.wdl
@@ -45,7 +45,7 @@ task Fastqc {
         # weird edge case fastq's.
         String javaXmx="1750M"
         Int threads = 1
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 1 + ceil(size(seqFile, "G")) * 4
         String dockerImage = "quay.io/biocontainers/fastqc:0.11.9--0"
 
diff --git a/fastqsplitter.wdl b/fastqsplitter.wdl
index 25a50954323974554925a8ca1305aba63a1e49ee..4a02697c2861380874b0599b0a683678b3aabba8 100644
--- a/fastqsplitter.wdl
+++ b/fastqsplitter.wdl
@@ -63,7 +63,7 @@ task Fastqsplitter {
 
     runtime {
         cpu: cores
-        memory: "~{memory}G"
+        memory: "~{memory}GiB"
         docker: dockerImage
     }
 }
diff --git a/fgbio.wdl b/fgbio.wdl
index d50906d33ef5cfd62ad004561039379c074d15ab..15fb0ea4394c9a4392040a2021025b4f90fe9542 100644
--- a/fgbio.wdl
+++ b/fgbio.wdl
@@ -26,7 +26,7 @@ task AnnotateBamWithUmis {
         File inputUmi
         String outputPath
 
-        String memory = "120G"
+        String memory = "120GiB"
         Int timeMinutes = 360
         String javaXmx="100G"
         String dockerImage = "quay.io/biocontainers/fgbio:1.4.0--hdfd78af_0"
diff --git a/flash.wdl b/flash.wdl
index c4554c50ff95b1c4d09258906ba5bfd26bdf8b03..7b50e0d7fbd2303fecdf91355db784012fdbc605 100644
--- a/flash.wdl
+++ b/flash.wdl
@@ -34,7 +34,7 @@ task Flash {
         Int? maxOverlap
 
         Int threads = 2
-        String memory = "2G"
+        String memory = "2GiB"
     }
 
     command {
diff --git a/gatk.wdl b/gatk.wdl
index 5cf7c6738bbb01b3017f41824b86f97aac263d69..0b93efe6115e5da88d1187214c459979a98d57f4 100644
--- a/gatk.wdl
+++ b/gatk.wdl
@@ -34,7 +34,7 @@ task AnnotateIntervals {
         File? segmentalDuplicationTrack
 
         String javaXmx = "2G"
-        String memory = "3G"
+        String memory = "3GiB"
         Int timeMinutes = 5
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -129,7 +129,7 @@ task ApplyBQSR {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -197,7 +197,7 @@ task BaseRecalibrator {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -232,7 +232,7 @@ task CalculateContamination {
         File? normalPileups
 
         String javaXmx = "12G"
-        String memory = "13G"
+        String memory = "13GiB"
         Int timeMinutes = 180
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -279,7 +279,7 @@ task CallCopyRatioSegments {
         File copyRatioSegments
 
         String javaXmx = "2G"
-        String memory = "3G"
+        String memory = "3GiB"
         Int timeMinutes = 2
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -332,7 +332,7 @@ task CollectAllelicCounts {
         File? commonVariantSitesIndex
 
         String javaXmx = "10G"
-        String memory = "11G"
+        String memory = "11GiB"
         Int timeMinutes = 120
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -390,7 +390,7 @@ task CollectReadCounts {
         String intervalMergingRule = "OVERLAPPING_ONLY"
 
         String javaXmx = "7G"
-        String memory = "8G"
+        String memory = "8GiB"
         Int timeMinutes = 1 + ceil(size(inputBam, "G") * 5)
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -449,7 +449,7 @@ task CombineGVCFs {
         File referenceFastaFai
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 1 + ceil(size(gvcfFiles, "G") * 8)
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -509,7 +509,7 @@ task CombineVariants {
         String outputPath
 
         String javaXmx = "12G"
-        String memory = "13G"
+        String memory = "13GiB"
         Int timeMinutes = 180
         String dockerImage = "broadinstitute/gatk3:3.8-1"
     }
@@ -579,7 +579,7 @@ task CreateReadCountPanelOfNormals {
         File? annotatedIntervals
 
         String javaXmx = "7G"
-        String memory = "8G"
+        String memory = "8GiB"
         Int timeMinutes = 5
         # The biocontainer causes a spark related error for some reason.
         String dockerImage = "broadinstitute/gatk:4.1.8.0"
@@ -629,7 +629,7 @@ task DenoiseReadCounts {
         File? annotatedIntervals
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 5
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -690,7 +690,7 @@ task FilterMutectCalls {
         File? artifactPriors
 
         String javaXmx = "12G"
-        String memory = "13G"
+        String memory = "13GiB"
         Int timeMinutes = 60
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -775,7 +775,7 @@ task GatherBqsrReports {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -805,7 +805,7 @@ task GenomicsDBImport {
         String? tmpDir
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 180
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -866,7 +866,7 @@ task GenotypeGVCFs {
         File? pedigree
 
         String javaXmx = "6G"
-        String memory = "7G"
+        String memory = "7GiB"
         Int timeMinutes = 120 # This will likely be used with intervals, as such size based estimation can't be used.
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -932,7 +932,7 @@ task GetPileupSummaries {
         String outputPrefix
 
         String javaXmx = "12G"
-        String memory = "13G"
+        String memory = "13GiB"
         Int timeMinutes = 120
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1032,7 +1032,7 @@ task HaplotypeCaller {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -1073,7 +1073,7 @@ task LearnReadOrientationModel {
         Array[File]+ f1r2TarGz
 
         String javaXmx = "12G"
-        String memory = "13G"
+        String memory = "13GiB"
         Int timeMinutes = 120
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1114,7 +1114,7 @@ task MergeStats {
         Array[File]+ stats
 
         String javaXmx = "14G"
-        String memory = "15G"
+        String memory = "15GiB"
         Int timeMinutes = 30
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1162,7 +1162,7 @@ task ModelSegments {
         File? normalAllelicCounts
 
         String javaXmx = "10G"
-        String memory = "11G"
+        String memory = "11GiB"
         Int timeMinutes = 60
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1250,7 +1250,7 @@ task MuTect2 {
         File? panelOfNormalsIndex
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 240
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1325,7 +1325,7 @@ task PlotDenoisedCopyRatios {
         Int? minimumContigLength
 
         String javaXmx = "3G"
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 2
         String dockerImage = "broadinstitute/gatk:4.1.8.0"
     }
@@ -1393,7 +1393,7 @@ task PlotModeledSegments {
         Int? minimumContigLength
 
         String javaXmx = "3G"
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 2
         String dockerImage = "broadinstitute/gatk:4.1.8.0"
     }
@@ -1454,7 +1454,7 @@ task PreprocessIntervals {
         File? intervals
 
         String javaXmx = "3G"
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 1 + ceil(size(referenceFasta, "G") * 6)
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1516,7 +1516,7 @@ task SelectVariants {
         String? selectTypeToInclude
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 60
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1576,7 +1576,7 @@ task SplitNCigarReads {
         Array[File] intervals = []
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 120 # This will likely be used with intervals, as such size based estimation can't be used.
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
@@ -1645,7 +1645,7 @@ task VariantEval {
         File? dbsnpVCFIndex
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         # TODO: Refine estimate. For now 4 minutes per GB of input.
         Int timeMinutes = ceil(size(flatten([evalVcfs, comparisonVcfs, select_all([referenceFasta, dbsnpVCF])]), "G") * 20)
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
@@ -1722,7 +1722,7 @@ task VariantFiltration {
         Array[File] intervals = []
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 120
         String dockerImage = "quay.io/biocontainers/gatk4:4.1.8.0--py38h37ae868_0"
     }
diff --git a/gffcompare.wdl b/gffcompare.wdl
index d06602bc5a733c702f59144cce4712ce1204c70b..fe1db0a8f88028216a4bdfe484cc8cf47db5b36b 100644
--- a/gffcompare.wdl
+++ b/gffcompare.wdl
@@ -46,8 +46,8 @@ task GffCompare {
         Int? maxDistanceGroupingTranscriptStartSites
         String? namePrefix
 
-        String memory = "4G"
-        Int timeMinutes = 1 + ceil(size(inputGtfFiles, "G") * 30)
+        String memory = "4GiB"
+        Int timeMinutes = 1 + ceil(size(inputGtfFiles, "GiB") * 30)
         String dockerImage = "quay.io/biocontainers/gffcompare:0.10.6--h2d50403_0"
 
         # This workaround only works in the input section.
diff --git a/gffread.wdl b/gffread.wdl
index a04540f531de2f4375de76a22bbf55708698857b..26a2773c394e8e093680c60105c7c6be924d8438 100644
--- a/gffread.wdl
+++ b/gffread.wdl
@@ -32,8 +32,8 @@ task GffRead {
         String? proteinFastaPath
         String? filteredGffPath
 
-        String memory = "4G"
-        Int timeMinutes = 1 + ceil(size(inputGff, "G") * 10)
+        String memory = "4GiB"
+        Int timeMinutes = 1 + ceil(size(inputGff, "GiB") * 10)
         String dockerImage = "quay.io/biocontainers/gffread:0.9.12--0"
     }
 
diff --git a/gridss.wdl b/gridss.wdl
index add3c08f6d1c95e0febc962e48962b91329e3fe9..cfe5375169811974d7cd191b6cc137eac183ce60 100644
--- a/gridss.wdl
+++ b/gridss.wdl
@@ -33,7 +33,7 @@ task AnnotateInsertedSequence {
 
         Int threads = 8
         String javaXmx = "8G"
-        String memory = "9G"
+        String memory = "9GiB"
         String dockerImage = "quay.io/biowdl/gridss:2.12.2"
         Int timeMinutes = 120
     }
@@ -85,7 +85,7 @@ task AnnotateSvTypes {
         File gridssVcfIndex
         String outputPath = "./gridss.svtyped.vcf.bgz"
 
-        String memory = "32G"
+        String memory = "32GiB"
         String dockerImage = "quay.io/biocontainers/bioconductor-structuralvariantannotation:1.10.0--r41hdfd78af_0"
         Int timeMinutes = 240
     }
@@ -201,7 +201,7 @@ task GRIDSS {
 
     runtime {
         cpu: threads
-        memory: "~{jvmHeapSizeGb + nonJvmMemoryGb}G"
+        memory: "~{jvmHeapSizeGb + nonJvmMemoryGb}GiB"
         time_minutes: timeMinutes # !UnknownRuntimeKey
         docker: dockerImage
     }
@@ -239,7 +239,7 @@ task GridssAnnotateVcfRepeatmasker {
         File gridssVcfIndex
         String outputPath = "./gridss.repeatmasker_annotated.vcf.gz"
 
-        String memory = "25G"
+        String memory = "25GiB"
         Int threads = 8
         String dockerImage = "quay.io/biowdl/gridss:2.12.2"
         Int timeMinutes = 1440
@@ -289,7 +289,7 @@ task Virusbreakend {
         File virusbreakendDB
         String outputPath = "./virusbreakend.vcf"
 
-        String memory = "75G"
+        String memory = "75GiB"
         Int threads = 12
         String dockerImage = "quay.io/biowdl/gridss:2.12.2"
         Int timeMinutes = 320
diff --git a/hisat2.wdl b/hisat2.wdl
index a2c0777cd09643359434ec8be63f7c8501ca3865..50fabc9d2e71b8d5d74d6e8331079d077b49af1c 100644
--- a/hisat2.wdl
+++ b/hisat2.wdl
@@ -82,7 +82,7 @@ task Hisat2 {
 
     runtime {
         cpu: threads
-        memory: "~{select_first([memoryGb, estimatedMemoryGb])}G"
+        memory: "~{select_first([memoryGb, estimatedMemoryGb])}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/hmftools.wdl b/hmftools.wdl
index f878181ae46dbb79477842a7c0dde3cb05bd6076..26ab4e4abbcfab73cb6e4e51f188517333387fc5 100644
--- a/hmftools.wdl
+++ b/hmftools.wdl
@@ -35,7 +35,7 @@ task Amber {
         File referenceFastaDict
 
         Int threads = 2
-        String memory = "70G"
+        String memory = "70GiB"
         String javaXmx = "64G"
         Int timeMinutes = 240
         String dockerImage = "quay.io/biocontainers/hmftools-amber:3.5--0"
@@ -112,7 +112,7 @@ task Cobalt {
         File gcProfile
 
         Int threads = 1
-        String memory = "5G"
+        String memory = "5GiB"
         String javaXmx = "4G"
         Int timeMinutes = 480
         String dockerImage = "quay.io/biocontainers/hmftools-cobalt:1.11--0"
@@ -174,7 +174,7 @@ task CupGenerateReport {
         File cupData
         String outputDir = "./cuppa"
 
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 10
         String dockerImage = "quay.io/biowdl/cuppa:1.6"
     }
@@ -242,7 +242,7 @@ task Cuppa {
         String outputDir = "./cuppa"
 
         String javaXmx = "4G"
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 10
         String dockerImage = "quay.io/biowdl/cuppa:1.6"
     }
@@ -298,7 +298,7 @@ task CuppaChart {
         File cupData
         String outputDir = "./cuppa"
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 5
         String dockerImage = "quay.io/biowdl/cuppa:1.6"
     }
@@ -348,7 +348,7 @@ task Gripss {
         File vcfIndex
         String outputDir = "./"
 
-        String memory = "17G"
+        String memory = "17GiB"
         String javaXmx = "16G"
         Int timeMinutes = 50
         String dockerImage = "quay.io/biocontainers/hmftools-gripss:2.0--hdfd78af_0"
@@ -419,7 +419,7 @@ task GripssApplicationKt {
         File breakendPon
         File breakpointPon
 
-        String memory = "32G"
+        String memory = "32GiB"
         String javaXmx = "31G"
         Int timeMinutes = 45
         String dockerImage = "quay.io/biocontainers/hmftools-gripss:1.11--hdfd78af_0"
@@ -478,7 +478,7 @@ task GripssHardFilterApplicationKt {
         File inputVcf
         String outputPath = "gripss_hard_filter.vcf.gz"
 
-        String memory = "3G"
+        String memory = "3GiB"
         String javaXmx = "2G"
         Int timeMinutes = 15
         String dockerImage = "quay.io/biocontainers/hmftools-gripss:1.11--hdfd78af_0"
@@ -527,7 +527,7 @@ task HealthChecker {
         Array[File]+ purpleOutput
 
         String javaXmx = "2G"
-        String memory = "1G"
+        String memory = "3GiB"
         Int timeMinutes = 1
         String dockerImage = "quay.io/biowdl/health-checker:3.2"
     }
@@ -604,7 +604,7 @@ task Linx {
         File transExonDataCsv
         File transSpliceDataCsv
 
-        String memory = "9G"
+        String memory = "9iB"
         String javaXmx = "8G"
         Int timeMinutes = 10
         String dockerImage = "quay.io/biocontainers/hmftools-linx:1.18--hdfd78af_0"
@@ -690,7 +690,7 @@ task LinxVisualisations {
         Array[File]+ linxOutput
         Boolean plotReportable = true
 
-        String memory = "9G"
+        String memory = "9GiB"
         String javaXmx = "8G"
         Int timeMinutes = 1440
         String dockerImage = "quay.io/biocontainers/hmftools-linx:1.18--hdfd78af_0"
@@ -778,7 +778,7 @@ task Orange {
         File cohortMappingTsv
         File cohortPercentilesTsv
 
-        String memory = "17G"
+        String memory = "17GiB"
         String javaXmx = "16G"
         Int timeMinutes = 10
         String dockerImage = "quay.io/biowdl/orange:v1.6"
@@ -902,7 +902,7 @@ task Pave {
 
         Int timeMinutes = 50
         String javaXmx = "8G"
-        String memory = "9G"
+        String memory = "9GiB"
         String dockerImage = "quay.io/biowdl/pave:v1.0"
     }
 
@@ -979,7 +979,7 @@ task Protect {
         File chordPrediction
         File annotatedVirus
 
-        String memory = "9G"
+        String memory = "9GiB"
         String javaXmx = "8G"
         Int timeMinutes = 60
         String dockerImage = "quay.io/biowdl/protect:v2.0"
@@ -1078,7 +1078,7 @@ task Purple {
 
         Int threads = 1
         Int timeMinutes = 30
-        String memory = "9G"
+        String memory = "9GiB"
         String javaXmx = "8G"
         # clone of quay.io/biocontainers/hmftools-purple:3.2--hdfd78af_0 with 'ln -s /usr/local/lib/libwebp.so.7 /usr/local/lib/libwebp.so.6'
         String dockerImage = "quay.io/biowdl/hmftools-purple:3.2"
@@ -1227,7 +1227,7 @@ task Sage {
 
         Int threads = 32
         String javaXmx = "16G"
-        String memory = "20G"
+        String memory = "20GiB"
         Int timeMinutes = 720
         String dockerImage = "quay.io/biocontainers/hmftools-sage:2.8--hdfd78af_1"
     }
@@ -1315,7 +1315,7 @@ task VirusInterpreter {
         File virusReportingDbTsv
         String outputDir = "."
 
-        String memory = "3G"
+        String memory = "3GiB"
         String javaXmx = "2G"
         Int timeMinutes = 15
         String dockerImage = "quay.io/biowdl/virus-interpreter:1.2"
diff --git a/htseq.wdl b/htseq.wdl
index 76d3bb8369c624a3f8981f8afad0f73ae9f68d3e..92bc44237fe11c099fc42bf9adcb95b601c40165 100644
--- a/htseq.wdl
+++ b/htseq.wdl
@@ -33,8 +33,8 @@ task HTSeqCount {
         String? idattr
 
         Int nprocesses = 1
-        String memory = "8G"
-        Int timeMinutes = 1440 #10 + ceil(size(inputBams, "G") * 60) FIXME
+        String memory = "8GiB"
+        Int timeMinutes = 1440 #10 + ceil(size(inputBams, "GiB") * 60) FIXME
         String dockerImage = "quay.io/biocontainers/htseq:0.12.4--py37hb3f55d8_0"
     }
 
diff --git a/isoseq3.wdl b/isoseq3.wdl
index aacbfc60217ee9bc888b3a0c2ca4783037722109..77f19f80067574da3cecd531668ef7ea5cbaf68c 100644
--- a/isoseq3.wdl
+++ b/isoseq3.wdl
@@ -32,7 +32,7 @@ task Refine {
         String outputNamePrefix
 
         Int threads = 2
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 30
         String dockerImage = "quay.io/biocontainers/isoseq3:3.4.0--0"
     }
diff --git a/lima.wdl b/lima.wdl
index 6b87ad4f3120baa2e1e3f13d5f9f1d223419bb80..eece2b3f67907caf9ce027333f6bd31237a1c8eb 100644
--- a/lima.wdl
+++ b/lima.wdl
@@ -49,7 +49,7 @@ task Lima {
         String outputPrefix
         
         Int threads = 2
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 30
         String dockerImage = "quay.io/biocontainers/lima:2.2.0--h9ee0642_0"
     }
diff --git a/macs2.wdl b/macs2.wdl
index 2afe3bbee058473155d9b472145bd1fb7306f6a5..e6a011adf6c33818ca3de602d78088444f79c33c 100644
--- a/macs2.wdl
+++ b/macs2.wdl
@@ -31,7 +31,7 @@ task PeakCalling {
         String format = "AUTO"
         Boolean nomodel = false
         Int timeMinutes = 600  # Default to 10 hours
-        String memory = "8G"
+        String memory = "8GiB"
         String dockerImage = "quay.io/biocontainers/macs2:2.1.2--py27r351_0"
     }
 
diff --git a/manta.wdl b/manta.wdl
index 1c949af2c853e2f08f6f6b95a1b8d38fc82d34a4..6804f304f189be8d349195a6a2d7f4394f8f3469 100644
--- a/manta.wdl
+++ b/manta.wdl
@@ -60,7 +60,7 @@ task Germline {
 
     runtime {
         cpu: cores
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
         docker: dockerImage
         time_minutes: timeMinutes
     }
@@ -138,7 +138,7 @@ task Somatic {
 
     runtime {
         cpu: cores
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
         docker: dockerImage
         time_minutes: timeMinutes
     }
diff --git a/minimap2.wdl b/minimap2.wdl
index 50ff4db38525cc8e896c944e5bc8de64e52f8a0f..96cc7734e0eb575e94a4a95b8ef65cf4b318418d 100644
--- a/minimap2.wdl
+++ b/minimap2.wdl
@@ -31,7 +31,7 @@ task Indexing {
         Int? splitIndex
 
         Int cores = 1
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 10
         String dockerImage = "quay.io/biocontainers/minimap2:2.20--h5bf99c6_0"
     }
@@ -98,7 +98,7 @@ task Mapping {
         String? howToFindGTAG
 
         Int cores = 4
-        String memory = "30G"
+        String memory = "30GiB"
         Int timeMinutes = 1 + ceil(size(queryFile, "G") * 200 / cores)
         String dockerImage = "quay.io/biocontainers/minimap2:2.20--h5bf99c6_0"
     }
diff --git a/multiqc.wdl b/multiqc.wdl
index a166293799d75a24f8aa7f14d3ade49d5fcfdf07..21fc8a7d0ab99806e2bfb8fc8d0158c62ee03b11 100644
--- a/multiqc.wdl
+++ b/multiqc.wdl
@@ -57,11 +57,11 @@ task MultiQC {
         String? clConfig
 
         String? memory
-        Int timeMinutes = 10 + ceil(size(reports, "G") * 8)
+        Int timeMinutes = 10 + ceil(size(reports, "GiB") * 8)
         String dockerImage = "quay.io/biocontainers/multiqc:1.9--py_1"
     }
 
-    Int memoryGb = 2 + ceil(size(reports, "G"))
+    Int memoryGb = 2 + ceil(size(reports, "GiB"))
 
     # This is where the reports end up. It does not need to be changed by the
     # user. It is full of symbolic links, so it is not of any use to the user
@@ -139,7 +139,7 @@ task MultiQC {
     }
 
     runtime {
-        memory: select_first([memory, "~{memoryGb}G"])
+        memory: select_first([memory, "~{memoryGb}GiB"])
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/nanopack.wdl b/nanopack.wdl
index e4c94a43b113f35c6ae82c228711bd8ce4592490..bd3f433e77de4a13d809355c02db3fa00e3a1d6c 100644
--- a/nanopack.wdl
+++ b/nanopack.wdl
@@ -40,7 +40,7 @@ task NanoPlot {
         String? readType
 
         Int threads = 2
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 15
         String dockerImage = "quay.io/biocontainers/nanoplot:1.38.0--pyhdfd78af_0"
     }
@@ -130,7 +130,7 @@ task NanoQc {
 
         Int? minLength
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 15
         String dockerImage = "quay.io/biocontainers/nanoqc:0.9.4--py_0"
     }
diff --git a/pacbio.wdl b/pacbio.wdl
index b21c69bc0b3db02ed0e1b3ea5fc46fb9bebe4ed4..dcf0f69e9ba4bc1f54f3825177cab8b7cb329c01 100644
--- a/pacbio.wdl
+++ b/pacbio.wdl
@@ -25,7 +25,7 @@ task mergePacBio {
         Array[File]+ reports
         String outputPathMergedReport
 
-        String memory = "4G"
+        String memory = "4GiB"
         String dockerImage = "quay.io/redmar_van_den_berg/pacbio-merge:0.2"
     }
 
@@ -62,7 +62,7 @@ task ccsChunks {
     input {
         Int chunkCount
 
-        String memory = "4G"
+        String memory = "4GiB"
         String dockerImage = "python:3.7-slim"
     }
 
diff --git a/pbbam.wdl b/pbbam.wdl
index ae64b87c0efb6f34472eaf3f3789e0129150f3ab..d5cafed6c2f0abd1501ddc21b420ffbb7f131ec3 100644
--- a/pbbam.wdl
+++ b/pbbam.wdl
@@ -26,7 +26,7 @@ task Index {
 
         String? outputBamPath
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 1 + ceil(size(bamFile, "G") * 4)
         String dockerImage = "quay.io/biocontainers/pbbam:1.6.0--h5b7e6e0_0"
     }
diff --git a/pbmm2.wdl b/pbmm2.wdl
index 5fda1c872689f2de821be0f8eb2a4a38d1a2f3c7..ea7c05dfc61746d87523eed14bbb6f755341a3dd 100644
--- a/pbmm2.wdl
+++ b/pbmm2.wdl
@@ -29,7 +29,7 @@ task Mapping {
         File queryFile
 
         Int cores = 4
-        String memory = "30G"
+        String memory = "30GiB"
         Int timeMinutes = 1 + ceil(size(queryFile, "G") * 2000 / cores)
         String dockerImage = "quay.io/biocontainers/pbmm2:1.3.0--h56fc30b_1"
     }
diff --git a/peach.wdl b/peach.wdl
index d1bc17f8cf860a8f7de0b547b4533bd95eee6e38..7da029d0f59814286637eebfe345416378ba25df 100644
--- a/peach.wdl
+++ b/peach.wdl
@@ -29,7 +29,7 @@ task Peach {
         String outputDir = "./peach"
         File panelJson
 
-        String memory = "2G"
+        String memory = "2GiB"
         String dockerImage = "quay.io/biowdl/peach:v1.5"
         Int timeMinutes = 5
     }
diff --git a/picard.wdl b/picard.wdl
index 3d835829f4c54c3a20ee162cf8d115cea3d0b3ac..f762ecdd98064a255843b8764d4dc0757cc0957b 100644
--- a/picard.wdl
+++ b/picard.wdl
@@ -27,7 +27,7 @@ task BedToIntervalList {
         String outputPath = "regions.interval_list"
 
         String javaXmx = "3G"
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 5
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
@@ -88,7 +88,7 @@ task CollectHsMetrics {
         Int memoryMb = javaXmxMb + 512
         # Additional * 2 because picard multiple metrics reads the
         # reference fasta twice.
-        Int timeMinutes = 1 + ceil(size(referenceFasta, "G") * 3 * 2) + ceil(size(inputBam, "G") * 6)
+        Int timeMinutes = 1 + ceil(size(referenceFasta, "GiB") * 3 * 2) + ceil(size(inputBam, "GiB") * 6)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -109,7 +109,7 @@ task CollectHsMetrics {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -157,7 +157,7 @@ task CollectMultipleMetrics {
         Int javaXmxMb = 3072
         Int memoryMb = javaXmxMb + 512
         # Additional * 2 because picard multiple metrics reads the reference fasta twice.
-        Int timeMinutes = 1 + ceil(size(referenceFasta, "G") * 3 * 2) + ceil(size(inputBam, "G") * 6)
+        Int timeMinutes = 1 + ceil(size(referenceFasta, "GiB") * 3 * 2) + ceil(size(inputBam, "GiB") * 6)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -223,7 +223,7 @@ task CollectMultipleMetrics {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -281,9 +281,9 @@ task CollectRnaSeqMetrics {
         String strandSpecificity = "NONE"
 
         String javaXmx =  "8G"
-        String memory = "9G"
+        String memory = "9GiB"
         # With 6 minutes per G there were several timeouts.
-        Int timeMinutes = 1 + ceil(size(inputBam, "G") * 12)
+        Int timeMinutes = 1 + ceil(size(inputBam, "GiB") * 12)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -340,8 +340,8 @@ task CollectTargetedPcrMetrics {
         String basename
 
         String javaXmx = "3G"
-        String memory = "4G"
-        Int timeMinutes = 1 + ceil(size(inputBam, "G") * 6)
+        String memory = "4GiB"
+        Int timeMinutes = 1 + ceil(size(inputBam, "GiB") * 6)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -402,7 +402,7 @@ task CollectVariantCallingMetrics {
         String basename
 
         String javaXmx =  "8G"
-        String memory = "9G"
+        String memory = "9GiB"
         Int timeMinutes = 1440
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
@@ -459,9 +459,9 @@ task CollectWgsMetrics {
         Int? minimumBaseQuality
         Int? coverageCap
 
-        String memory = "5G"
+        String memory = "5GiB"
         String javaXmx = "4G"
-        Int timeMinutes = 1 + ceil(size(inputBam, "G") * 6)
+        Int timeMinutes = 1 + ceil(size(inputBam, "GiB") * 6)
         String dockerImage = "quay.io/biocontainers/picard:2.23.2--0"
     }
 
@@ -516,7 +516,7 @@ task CreateSequenceDictionary {
         String outputDir
 
         String javaXmx = "2G"
-        String memory = "3G"
+        String memory = "3GiB"
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -568,7 +568,7 @@ task GatherBamFiles {
         Int javaXmxMb = 1024
         Int memoryMb = javaXmxMb + 512
         # One minute per input gigabyte.
-        Int timeMinutes = 1 + ceil(size(inputBams, "G") * 1)
+        Int timeMinutes = 1 + ceil(size(inputBams, "GiB") * 1)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -593,7 +593,7 @@ task GatherBamFiles {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -630,8 +630,8 @@ task GatherVcfs {
         Boolean useJdkDeflater = true  # Achieves much better compression rates than the intel deflater
 
         String javaXmx = "4G"
-        String memory = "5G"
-        Int timeMinutes = 1 + ceil(size(inputVcfs, "G") * 2)
+        String memory = "5GiB"
+        Int timeMinutes = 1 + ceil(size(inputVcfs, "GiB") * 2)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -700,7 +700,7 @@ task MarkDuplicates {
         Int javaXmxMb =  6656  # 6.5G
         String memoryMb = javaXmxMb + 512
 
-        Int timeMinutes = 1 + ceil(size(inputBams, "G") * 8)
+        Int timeMinutes = 1 + ceil(size(inputBams, "GiB") * 8)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -736,7 +736,7 @@ task MarkDuplicates {
     }
 
     runtime {
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -782,8 +782,8 @@ task MergeVCFs {
         Boolean useJdkDeflater = true  # Achieves much better compression rates than the intel deflater
 
         String javaXmx = "4G"
-        String memory = "5G"
-        Int timeMinutes = 1 + ceil(size(inputVCFs, "G")) * 2
+        String memory = "5GiB"
+        Int timeMinutes = 1 + ceil(size(inputVCFs, "GiB")) * 2
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -838,7 +838,7 @@ task SamToFastq {
         Boolean paired = true
 
         String javaXmx = "16G" # High memory default to avoid crashes.
-        String memory = "17G"
+        String memory = "17GiB"
         Int timeMinutes = 30
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
 
@@ -900,7 +900,7 @@ task ScatterIntervalList {
         Int scatter_count
 
         String javaXmx = "3G"
-        String memory = "4G"
+        String memory = "4GiB"
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -943,7 +943,7 @@ task SortSam {
         # 4.000000001 which gets rounded to 5.
         # GATK Best practices uses 75000 here: https://github.com/gatk-workflows/broad-prod-wgs-germline-snps-indels/blob/d2934ed656ade44801f9cfe1c0e78d4f80684b7b/PairedEndSingleSampleWf-fc-hg38.wdl#L778
         Int XmxGb = ceil(maxRecordsInRam / 125001.0)
-        Int timeMinutes = 1 + ceil(size(inputBam, "G") * 3)
+        Int timeMinutes = 1 + ceil(size(inputBam, "GiB") * 3)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -971,7 +971,7 @@ task SortSam {
 
     runtime {
         cpu: 1
-        memory: "~{1 + XmxGb}G"
+        memory: "~{1 + XmxGb}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -1004,8 +1004,8 @@ task SortVcf {
         File? dict
 
         String javaXmx = "8G"
-        String memory = "9G"
-        Int timeMinutes = 1 + ceil(size(vcfFiles, "G") * 5)
+        String memory = "9GiB"
+        Int timeMinutes = 1 + ceil(size(vcfFiles, "GiB") * 5)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -1054,8 +1054,8 @@ task RenameSample {
         String newSampleName
 
         String javaXmx = "8G"
-        String memory = "9G"
-        Int timeMinutes = 1 + ceil(size(inputVcf, "G") * 2)
+        String memory = "9GiB"
+        Int timeMinutes = 1 + ceil(size(inputVcf, "GiB") * 2)
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
 
@@ -1109,7 +1109,7 @@ task UmiAwareMarkDuplicatesWithMateCigar {
         Boolean useJdkInflater = false
         Boolean useJdkDeflater = true  # Achieves much better compression rates than the intel deflater
         String javaXmx = "8G"
-        String memory = "9G"
+        String memory = "9GiB"
         Int timeMinutes = 360
         String dockerImage = "quay.io/biocontainers/picard:2.26.10--hdfd78af_0"
     }
diff --git a/prepareShiny.wdl b/prepareShiny.wdl
index d669e2d1791fc8ea7462198c4493cfe5c3c342f5..289107431cc24f451434f524feaf43dbccffdce4 100644
--- a/prepareShiny.wdl
+++ b/prepareShiny.wdl
@@ -25,7 +25,7 @@ task CreateDesignMatrix {
         File countTable
         String shinyDir = "."
 
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 30
         String dockerImage = "quay.io/biocontainers/predex:0.9.2--pyh3252c3a_0"
     }
@@ -67,7 +67,7 @@ task CreateAnnotation {
         File referenceGtfFile
         String shinyDir = "."
 
-        String memory = "5G"
+        String memory = "5GiB"
         Int timeMinutes = 30
         String dockerImage = "quay.io/biocontainers/predex:0.9.2--pyh3252c3a_0"
     }
diff --git a/rtg.wdl b/rtg.wdl
index 0e86ce3f9f8a43024c1f6628867fe8e68c3f9d16..3e9dab9bb116629d6fce95cc51dd384c640279bf 100644
--- a/rtg.wdl
+++ b/rtg.wdl
@@ -27,8 +27,8 @@ task Format {
         String outputPath = "seq_data.sdf"
 
         String rtgMem = "8G"
-        String memory = "9G"
-        Int timeMinutes = 1 + ceil(size(inputFiles) * 2)
+        String memory = "9GiB"
+        Int timeMinutes = 1 + ceil(size(inputFiles, "GiB") * 2)
         String dockerImage = "quay.io/biocontainers/rtg-tools:3.10.1--0"
     }
 
@@ -85,8 +85,8 @@ task VcfEval {
 
         String rtgMem = "8G"
         Int threads = 1  # Tool default is number of cores in the system 😱.
-        String memory = "9G"
-        Int timeMinutes = 1 + ceil(size([baseline, calls], "G") * 5)
+        String memory = "9GiB"
+        Int timeMinutes = 1 + ceil(size([baseline, calls], "GiB") * 5)
         String dockerImage = "quay.io/biocontainers/rtg-tools:3.10.1--0"
     }
 
diff --git a/sambamba.wdl b/sambamba.wdl
index 6696668a70f8162a4735c6f019f784d102a0c17d..be347f943d2653ebb6899822a5bd33546a47f985 100644
--- a/sambamba.wdl
+++ b/sambamba.wdl
@@ -27,7 +27,7 @@ task Flagstat {
         String outputPath = "./flagstat.txt"
 
         Int threads = 2
-        String memory = "8G"
+        String memory = "8GiB"
         Int timeMinutes = 320
         String dockerImage = "quay.io/biocontainers/sambamba:0.7.1--h148d290_2"
     }
@@ -84,7 +84,7 @@ task Markdup {
         # Added 8192 mb as a margin of safety. Real life use with this setting uses 2.7 GiB.
         Int memoryMb = 8192 + sortBufferSize + 2 * ioBufferSize
         # Time minute calculation does not work well for higher number of threads.
-        Int timeMinutes = 1 + ceil(size(inputBams, "G") * 25) / threads
+        Int timeMinutes = 1 + ceil(size(inputBams, "GiB") * 25) / threads
         String dockerImage = "quay.io/biocontainers/sambamba:0.7.1--h148d290_2"
     }
 
@@ -113,7 +113,7 @@ task Markdup {
 
     runtime {
         cpu: threads
-        memory: "~{memoryMb}M"
+        memory: "~{memoryMb}MiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -149,7 +149,7 @@ task Sort {
         Int memoryPerThreadGb = 4
         Int threads = 1
         Int memoryGb = 1 + threads * memoryPerThreadGb
-        Int timeMinutes = 1 + ceil(size(inputBam, "G") * 3)
+        Int timeMinutes = 1 + ceil(size(inputBam, "GiB") * 3)
         String dockerImage = "quay.io/biocontainers/sambamba:0.7.1--h148d290_2"
     }
 
@@ -177,7 +177,7 @@ task Sort {
 
     runtime {
         cpu: threads
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
         docker: dockerImage
         time_minutes: timeMinutes
     }
diff --git a/samtools.wdl b/samtools.wdl
index 81b6c17da3d15a7db469dfee9422bd07e4766273..e1b081733e1398081281559a8735e017007972cc 100644
--- a/samtools.wdl
+++ b/samtools.wdl
@@ -26,8 +26,8 @@ task BgzipAndIndex {
         String outputDir
         String type = "vcf"
 
-        String memory = "2G"
-        Int timeMinutes = 1 + ceil(size(inputFile, "G"))
+        String memory = "2GiB"
+        Int timeMinutes = 1 + ceil(size(inputFile, "GiB"))
         String dockerImage = "quay.io/biocontainers/tabix:0.2.6--ha92aebf_0"
     }
 
@@ -71,7 +71,7 @@ task Faidx {
         File inputFile
         String outputDir
 
-        String memory = "2G"
+        String memory = "2GiB"
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
 
@@ -119,7 +119,7 @@ task Fastq {
         Int? compressionLevel
 
         Int threads = 1
-        String memory = "1G"
+        String memory = "1GiB"
         Int timeMinutes = 1 + ceil(size(inputBam) * 2)
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
@@ -183,8 +183,8 @@ task FilterShortReadsBam {
         File bamFile
         String outputPathBam
 
-        String memory = "1G"
-        Int timeMinutes = 1 + ceil(size(bamFile, "G") * 8)
+        String memory = "1GiB"
+        Int timeMinutes = 1 + ceil(size(bamFile, "GiB") * 8)
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
 
@@ -229,7 +229,7 @@ task Flagstat {
         File inputBam
         String outputPath
 
-        String memory = "256M"  # Only 40.5 MiB used for 150G bam file.
+        String memory = "256MiB"  # Only 40.5 MiB used for 150G bam file.
         Int timeMinutes = 1 + ceil(size(inputBam, "G"))
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
@@ -269,8 +269,8 @@ task Index {
 
         String? outputBamPath
 
-        String memory = "2G"
-        Int timeMinutes = 1 + ceil(size(bamFile, "G") * 4)
+        String memory = "2GiB"
+        Int timeMinutes = 1 + ceil(size(bamFile, "GiB") * 4)
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
 
@@ -321,7 +321,7 @@ task Markdup {
         File inputBam
         String outputBamPath
 
-        Int timeMinutes = 1 + ceil(size(inputBam, "G") * 2)
+        Int timeMinutes = 1 + ceil(size(inputBam, "GiB") * 2)
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
 
@@ -359,8 +359,8 @@ task Merge {
         Boolean force = true
 
         Int threads = 1
-        String memory = "4G"
-        Int timeMinutes = 1 + ceil(size(bamFiles, "G") * 2)
+        String memory = "4GiB"
+        Int timeMinutes = 1 + ceil(size(bamFiles, "GiB") * 2)
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
 
@@ -415,7 +415,7 @@ task Sort {
         Int memoryPerThreadGb = 4
         Int threads = 1
         Int memoryGb = 1 + threads * memoryPerThreadGb
-        Int timeMinutes = 1 + ceil(size(inputBam, "G") * 3)
+        Int timeMinutes = 1 + ceil(size(inputBam, "GiB") * 3)
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
 
@@ -444,7 +444,7 @@ task Sort {
 
     runtime {
         cpu: threads
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -473,7 +473,7 @@ task Tabix {
         String outputFilePath = "indexed.vcf.gz"
         String type = "vcf"
 
-        Int timeMinutes = 1 + ceil(size(inputFile, "G") * 2)
+        Int timeMinutes = 1 + ceil(size(inputFile, "GiB") * 2)
         String dockerImage = "quay.io/biocontainers/tabix:0.2.6--ha92aebf_0"
     }
 
@@ -526,8 +526,8 @@ task View {
         Int? MAPQthreshold
 
         Int threads = 1
-        String memory = "1G"
-        Int timeMinutes = 1 + ceil(size(inFile, "G") * 5)
+        String memory = "1GiB"
+        Int timeMinutes = 1 + ceil(size(inFile, "GiB") * 5)
         String dockerImage = "quay.io/biocontainers/samtools:1.11--h6270b1f_0"
     }
 
diff --git a/scripts b/scripts
index 84690a30eb0dde2bfdfaff9abf097b6f4c49dfd8..98cc3e10125c853a70f41ceccf8f9d5428d4c1a3 160000
--- a/scripts
+++ b/scripts
@@ -1 +1 @@
-Subproject commit 84690a30eb0dde2bfdfaff9abf097b6f4c49dfd8
+Subproject commit 98cc3e10125c853a70f41ceccf8f9d5428d4c1a3
diff --git a/smoove.wdl b/smoove.wdl
index d1011f6cd3623e13377af67d000639b1c438bdaa..7a1ac38b9ca5ceddf4fc95bc7af3ab41cd3ae469 100644
--- a/smoove.wdl
+++ b/smoove.wdl
@@ -29,7 +29,7 @@ task Call {
         String sample
         String outputDir = "./smoove"
 
-        String memory = "15G"
+        String memory = "15GiB"
         Int timeMinutes = 1440
         String dockerImage = "quay.io/biocontainers/smoove:0.2.5--0"
     }
diff --git a/snpeff.wdl b/snpeff.wdl
index 4a3640c7a8b5ea2a9da742bb76f7e1e0e48e38a6..0f14e5b55d2de1a0d7656b0e176e0a574adbd5b0 100644
--- a/snpeff.wdl
+++ b/snpeff.wdl
@@ -36,7 +36,7 @@ task SnpEff {
         Boolean noShiftHgvs = false
         Int? upDownStreamLen
 
-        String memory = "9G"
+        String memory = "9GiB"
         String javaXmx = "8G"
         Int timeMinutes = 60
         String dockerImage = "quay.io/biocontainers/snpeff:5.0--0"
diff --git a/somaticseq.wdl b/somaticseq.wdl
index 63f8362ea1c9ad8025e6b30b38e115ed91239946..7656d086eb1eac12ee5a9e4ea36ad4e906ebad16 100644
--- a/somaticseq.wdl
+++ b/somaticseq.wdl
@@ -47,7 +47,7 @@ task ParallelPaired {
         File? strelkaSNV
         File? strelkaIndel
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int threads = 1
         Int timeMinutes = 60
         String dockerImage = "lethalfang/somaticseq:3.1.0"
@@ -162,7 +162,7 @@ task ParallelPairedTrain {
         File? strelkaSNV
         File? strelkaIndel
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int threads = 1
         Int timeMinutes = 240
         String dockerImage = "lethalfang/somaticseq:3.1.0"
@@ -270,7 +270,7 @@ task ParallelSingle {
         File? scalpelVCF
         File? strelkaVCF
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int threads = 1
         Int timeMinutes = 60
         String dockerImage = "lethalfang/somaticseq:3.1.0"
@@ -362,7 +362,7 @@ task ParallelSingleTrain {
         File? scalpelVCF
         File? strelkaVCF
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int threads = 1
         Int timeMinutes = 240
         String dockerImage = "lethalfang/somaticseq:3.1.0"
@@ -441,7 +441,7 @@ task ModifyStrelka {
         File strelkaVCF
         String outputVCFName = basename(strelkaVCF, ".gz")
 
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 20
         String dockerImage = "lethalfang/somaticseq:3.1.0"
     }
diff --git a/spades.wdl b/spades.wdl
index 3975dd32e3bdff906b1127d93a5aa8f3ca714e8a..d717ab28fe3334be504283f62c8922b796e6f3be 100644
--- a/spades.wdl
+++ b/spades.wdl
@@ -100,6 +100,6 @@ task Spades {
 
     runtime {
         cpu: threads
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
     }
 }
diff --git a/star.wdl b/star.wdl
index 6a123c86dcad02c36a4891884b5674598e006db6..88d3c83817c65ce93ada3b986acd62e673a268f5 100644
--- a/star.wdl
+++ b/star.wdl
@@ -29,8 +29,8 @@ task GenomeGenerate {
         Int? sjdbOverhang
 
         Int threads = 4
-        String memory = "32G"
-        Int timeMinutes = ceil(size(referenceFasta, "G") * 240 / threads)
+        String memory = "32GiB"
+        Int timeMinutes = ceil(size(referenceFasta, "GiB") * 240 / threads)
         String dockerImage = "quay.io/biocontainers/star:2.7.3a--0"
     }
 
@@ -130,12 +130,12 @@ task Star {
         Int runThreadN = 4
         String? memory
         # 1 minute initialization + time reading in index (1 minute per G) + time aligning data.
-        Int timeMinutes = 1 + ceil(size(indexFiles, "G")) + ceil(size(flatten([inputR1, inputR2]), "G") * 300 / runThreadN)
+        Int timeMinutes = 1 + ceil(size(indexFiles, "GiB")) + ceil(size(flatten([inputR1, inputR2]), "GiB") * 300 / runThreadN)
         String dockerImage = "quay.io/biocontainers/star:2.7.3a--0"
     }
 
     # Use a margin of 30% index size. Real memory usage is ~30 GiB for a 27 GiB index. 
-    Int memoryGb = 1 + ceil(size(indexFiles, "G") * 1.3)
+    Int memoryGb = 1 + ceil(size(indexFiles, "GiB") * 1.3)
     # For some reason doing above calculation inside a string does not work.
     # So we solve it with an optional memory string and using select_first
     # in the runtime section.
@@ -172,7 +172,7 @@ task Star {
 
     runtime {
         cpu: runThreadN
-        memory: select_first([memory, "~{memoryGb}G"])
+        memory: select_first([memory, "~{memoryGb}GiB"])
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/strelka.wdl b/strelka.wdl
index be08e386f2cd036bc6db752454da7030ebed103d..39afe1724c2bb2ac62a331be24861f3fc1bbb20d 100644
--- a/strelka.wdl
+++ b/strelka.wdl
@@ -63,7 +63,7 @@ task Germline {
 
     runtime {
         cpu: cores
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
@@ -139,7 +139,7 @@ task Somatic {
 
     runtime {
         cpu: cores
-        memory: "~{memoryGb}G"
+        memory: "~{memoryGb}GiB"
         time_minutes: timeMinutes
         docker: dockerImage
     }
diff --git a/stringtie.wdl b/stringtie.wdl
index 9c2f3cfcb1683e2340029eae312d12c7da14c582..fbe7e4424c4b9b6c3fa9f092c8c5d36dbcc93f07 100644
--- a/stringtie.wdl
+++ b/stringtie.wdl
@@ -34,7 +34,7 @@ task Stringtie {
         Float? minimumCoverage
 
         Int threads = 1
-        String memory = "2G"
+        String memory = "2GiB"
         Int timeMinutes = 1 + ceil(size(bam, "G") * 60 / threads)
         String dockerImage = "quay.io/biocontainers/stringtie:1.3.6--h92e31bf_0"
     }
@@ -102,7 +102,7 @@ task Merge {
         Float? minimumIsoformFraction
         String? label
 
-        String memory = "10G"
+        String memory = "10GiB"
         Int timeMinutes = 1 + ceil(size(gtfFiles, "G") * 20)
         String dockerImage = "quay.io/biocontainers/stringtie:2.1.4--h7e0af3c_0"
     }
diff --git a/survivor.wdl b/survivor.wdl
index de232405b4d617a46a785f7aa9970a45f474b60b..b233fb522e546c06dbe71fa9547c06624d30c1d1 100644
--- a/survivor.wdl
+++ b/survivor.wdl
@@ -31,7 +31,7 @@ task Merge {
         Int minSize = 30
         String outputPath = "./survivor/merged.vcf"
 
-        String memory = "24G"
+        String memory = "24GiB"
         Int timeMinutes = 60
         String dockerImage = "quay.io/biocontainers/survivor:1.0.6--h6bb024c_0"
     }
diff --git a/talon.wdl b/talon.wdl
index 61f5eb4a2f9b928ce545509520fddf38bc62e1fd..2f93e36b2a4a48b06c437b8aad1a745bfd967680 100644
--- a/talon.wdl
+++ b/talon.wdl
@@ -30,7 +30,7 @@ task CreateAbundanceFileFromDatabase {
         File? whitelistFile
         File? datasetsFile
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -86,7 +86,7 @@ task CreateGtfFromDatabase {
         File? whitelistFile
         File? datasetFile
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -144,7 +144,7 @@ task FilterTalonTranscripts {
         File? datasetsFile
         Int? minDatasets
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -200,7 +200,7 @@ task GetReadAnnotations {
 
         File? datasetFile
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -248,7 +248,7 @@ task GetSpliceJunctions {
         String runMode = "intron"
         String outputPrefix
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -302,7 +302,7 @@ task InitializeTalonDatabase {
         Int cutOff3p = 300
         String outputPrefix
 
-        String memory = "10G"
+        String memory = "10GiB"
         Int timeMinutes = 60
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -360,7 +360,7 @@ task LabelReads {
         String outputPrefix
 
         Int threads = 4
-        String memory = "25G"
+        String memory = "25GiB"
         Int timeMinutes = 2880
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -413,7 +413,7 @@ task ReformatGtf {
     input {
         File gtfFile
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -454,7 +454,7 @@ task SummarizeDatasets {
 
         File? datasetGroupsCsv
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 50
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
@@ -506,7 +506,7 @@ task Talon {
         String outputPrefix
 
         Int threads = 4
-        String memory = "25G"
+        String memory = "25GiB"
         Int timeMinutes = 2880
         String dockerImage = "biocontainers/talon:v5.0_cv1"
     }
diff --git a/transcriptclean.wdl b/transcriptclean.wdl
index efdd95f47e7a7dac9bbc49830bbce70cc707a5f9..8607a7a3a99e065c7fd8e54284e5d27d69b6bce6 100644
--- a/transcriptclean.wdl
+++ b/transcriptclean.wdl
@@ -27,7 +27,7 @@ task GetSJsFromGtf {
         String outputPrefix
         Int minIntronSize = 21
 
-        String memory = "8G"
+        String memory = "8GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/transcriptclean:v2.0.2_cv1"
     }
@@ -72,7 +72,7 @@ task GetTranscriptCleanStats {
         File inputSam
         String outputPrefix
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "biocontainers/transcriptclean:v2.0.2_cv1"
     }
@@ -128,7 +128,7 @@ task TranscriptClean {
         File? variantFile
 
         Int cores = 1
-        String memory = "25G"
+        String memory = "25GiB"
         Int timeMinutes = 2880
         String dockerImage = "biocontainers/transcriptclean:v2.0.2_cv1"
     }
diff --git a/umi-tools.wdl b/umi-tools.wdl
index b79817c2e4304c76b8203c23f366df601836151f..d8d17c4805ef83249ee7210e2527accc67f33779 100644
--- a/umi-tools.wdl
+++ b/umi-tools.wdl
@@ -30,7 +30,7 @@ task Extract {
         String? read2Output = "umi_extracted_R2.fastq.gz"
         Boolean threePrime = false
 
-        String memory = "20G"
+        String memory = "20GiB"
         Int timeMinutes = 1 + ceil(size([read1, read2], "G") * 2)
         String dockerImage = "quay.io/biocontainers/mulled-v2-509311a44630c01d9cb7d2ac5727725f51ea43af:3067b520386698317fd507c413baf7f901666fd4-0"
     }
@@ -87,8 +87,8 @@ task Dedup {
         String? umiSeparator
         String? statsPrefix
 
-        String memory = "25G"
-        Int timeMinutes = 30 + ceil(size(inputBam, "G") * 30)
+        String memory = "25GiB"
+        Int timeMinutes = 30 + ceil(size(inputBam, "GiB") * 30)
         String dockerImage = "quay.io/biocontainers/mulled-v2-509311a44630c01d9cb7d2ac5727725f51ea43af:3067b520386698317fd507c413baf7f901666fd4-0"
     }
 
diff --git a/umi.wdl b/umi.wdl
index 0dc5c55e786014e7a59af4d1bfc91fdd225ef807..e7f01fc2d3f66ffabd2692e94b04311cb2da4c51 100644
--- a/umi.wdl
+++ b/umi.wdl
@@ -30,8 +30,8 @@ task BamReadNameToUmiTag {
         String outputPath = "output.bam"
         String umiTag = "RX"
 
-        String memory = "2G"
-        Int timeMinutes = 1 + ceil(size([inputBam], "G") * 10)
+        String memory = "2GiB"
+        Int timeMinutes = 1 + ceil(size([inputBam], "GiB") * 10)
         String dockerImage = "quay.io/biocontainers/pysam:0.17.0--py39h051187c_0"
     }
     
diff --git a/unicycler.wdl b/unicycler.wdl
index 938d0c7ecf847f362f61d1fe9e042c54e90237fb..d83db3ca4e8f5915f1fbbfe397f0210af2960622 100644
--- a/unicycler.wdl
+++ b/unicycler.wdl
@@ -66,7 +66,7 @@ task Unicycler {
         String? lowScore
 
         Int threads = 1
-        String memory = "4G"
+        String memory = "4GiB"
     }
 
     command {
diff --git a/vardict.wdl b/vardict.wdl
index 1c20e51c8a228b84015afe6907836162073cf210..187b45671a8594dc238db273ffec166eaecbb5e8 100644
--- a/vardict.wdl
+++ b/vardict.wdl
@@ -48,7 +48,7 @@ task VarDict {
 
         String javaXmx = "16G"
         Int threads = 1
-        String memory = "18G"
+        String memory = "18GiB"
         Int timeMinutes = 300
         String dockerImage = "quay.io/biocontainers/vardict-java:1.5.8--1"
     }
diff --git a/vt.wdl b/vt.wdl
index 85077dae3e06a3e80b1b8e4b78e0634f0ba8cae0..4da2d8cd918a57aa97df6ff5a1b718229ad52f80 100644
--- a/vt.wdl
+++ b/vt.wdl
@@ -29,7 +29,7 @@ task Normalize {
         Boolean ignoreMaskedRef = false
         String outputPath = "./vt/normalized_decomposed.vcf"
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 30
         String dockerImage = "quay.io/biocontainers/vt:0.57721--hdf88d34_2"
     }
diff --git a/whatshap.wdl b/whatshap.wdl
index 7307ce7ce79d029e36cb6c9e72175bcba547a8f5..da86ad82e4d180ab12044335665fb893e85abecd 100644
--- a/whatshap.wdl
+++ b/whatshap.wdl
@@ -38,7 +38,7 @@ task Phase {
         String? threshold
         String? ped
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 120
         # Whatshap 1.0, tabix 0.2.5.
         String dockerImage = "quay.io/biocontainers/mulled-v2-5c61fe1d8c284dd05d26238ce877aa323205bf82:89b4005d04552bdd268e8af323df83357e968d83-0"
@@ -109,7 +109,7 @@ task Stats {
         String? blockList
         String? chromosome
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 120
         # Whatshap 1.0, tabix 0.2.5.
         String dockerImage = "quay.io/biocontainers/mulled-v2-5c61fe1d8c284dd05d26238ce877aa323205bf82:89b4005d04552bdd268e8af323df83357e968d83-0"
@@ -169,7 +169,7 @@ task Haplotag {
         String? regions
         String? sample
 
-        String memory = "4G"
+        String memory = "4GiB"
         Int timeMinutes = 120
         # Whatshap 1.0, tabix 0.2.5.
         String dockerImage = "quay.io/biocontainers/mulled-v2-5c61fe1d8c284dd05d26238ce877aa323205bf82:89b4005d04552bdd268e8af323df83357e968d83-0"
diff --git a/wisestork.wdl b/wisestork.wdl
index 8fb4b76b703d485b244ef7342424f727c3c522f6..bef54e27e1c5836faf27a7df35147ddfaa474e37 100644
--- a/wisestork.wdl
+++ b/wisestork.wdl
@@ -31,7 +31,7 @@ task Count {
         Int? binSize
         File? binFile
 
-        String memory = "2G"
+        String memory = "2GiB"
         String dockerImage = "quay.io/biocontainers/wisestork:0.1.2--pyh24bf2e0_0"
     }
 
@@ -69,7 +69,7 @@ task GcCorrect {
         Int? iter
         Float? fracLowess
 
-        String memory = "2G"
+        String memory = "2GiB"
         String dockerImage = "quay.io/biocontainers/wisestork:0.1.2--pyh24bf2e0_0"
     }
 
@@ -129,7 +129,7 @@ task Newref {
     }
 
     runtime {
-        memory: "~{memory}G"
+        memory: "~{memory}GiB"
         docker: dockerImage
     }
 }
@@ -147,7 +147,7 @@ task Zscore {
         Int? binSize
         File? binFile
 
-        String memory = "2G"
+        String memory = "2GiB"
         String dockerImage = "quay.io/biocontainers/wisestork:0.1.2--pyh24bf2e0_0"
     }