SPEC CPU(R)2017 Integer Speed Result Lenovo Global Technology ThinkSystem SE360 V2 (2.00 GHz. Intel Xeon D-2796TE) CPU2017 License: 9017 Test date: Jun-2023 Test sponsor: Lenovo Global Technology Hardware availability: Jul-2023 Tested by: Lenovo Global Technology Software availability: Dec-2022 Base Base Base Peak Peak Peak Benchmarks Threads Run Time Ratio Threads Run Time Ratio --------------- ------- --------- --------- ------- --------- --------- 600.perlbench_s 40 272 6.53 S 40 249 7.13 S 600.perlbench_s 40 269 6.61 S 40 252 7.05 S 600.perlbench_s 40 270 6.57 * 40 249 7.12 * 602.gcc_s 40 396 10.0 S 40 376 10.6 S 602.gcc_s 40 396 10.1 S 40 376 10.6 * 602.gcc_s 40 396 10.0 * 40 376 10.6 S 605.mcf_s 40 268 17.6 * 40 268 17.6 * 605.mcf_s 40 268 17.6 S 40 268 17.6 S 605.mcf_s 40 265 17.8 S 40 265 17.8 S 620.omnetpp_s 40 187 8.71 S 40 187 8.71 S 620.omnetpp_s 40 181 9.00 S 40 181 9.00 S 620.omnetpp_s 40 183 8.92 * 40 183 8.92 * 623.xalancbmk_s 40 73.1 19.4 S 40 73.1 19.4 S 623.xalancbmk_s 40 72.5 19.5 * 40 72.5 19.5 * 623.xalancbmk_s 40 72.5 19.5 S 40 72.5 19.5 S 625.x264_s 40 114 15.4 S 40 109 16.2 S 625.x264_s 40 114 15.5 * 40 109 16.2 S 625.x264_s 40 114 15.5 S 40 109 16.2 * 631.deepsjeng_s 40 266 5.39 * 40 266 5.39 * 631.deepsjeng_s 40 266 5.39 S 40 266 5.39 S 631.deepsjeng_s 40 266 5.39 S 40 266 5.39 S 641.leela_s 40 390 4.38 S 40 390 4.38 S 641.leela_s 40 389 4.39 * 40 389 4.39 * 641.leela_s 40 388 4.39 S 40 388 4.39 S 648.exchange2_s 40 161 18.2 * 40 161 18.2 * 648.exchange2_s 40 164 17.9 S 40 164 17.9 S 648.exchange2_s 40 161 18.3 S 40 161 18.3 S 657.xz_s 40 320 19.3 S 40 320 19.3 S 657.xz_s 40 320 19.3 * 40 320 19.3 * 657.xz_s 40 319 19.3 S 40 319 19.3 S ================================================================================= 600.perlbench_s 40 270 6.57 * 40 249 7.12 * 602.gcc_s 40 396 10.0 * 40 376 10.6 * 605.mcf_s 40 268 17.6 * 40 268 17.6 * 620.omnetpp_s 40 183 8.92 * 40 183 8.92 * 623.xalancbmk_s 40 72.5 19.5 * 40 72.5 19.5 * 625.x264_s 40 114 15.5 * 40 109 16.2 * 631.deepsjeng_s 40 266 5.39 * 40 266 5.39 * 641.leela_s 40 389 4.39 * 40 389 4.39 * 648.exchange2_s 40 161 18.2 * 40 161 18.2 * 657.xz_s 40 320 19.3 * 40 320 19.3 * SPECspeed(R)2017_int_base 11.0 SPECspeed(R)2017_int_peak 11.2 HARDWARE -------- CPU Name: Intel Xeon D-2796TE Max MHz: 3100 Nominal: 2000 Enabled: 20 cores, 1 chip, 2 threads/core Orderable: 1 chip Cache L1: 32 KB I + 48 KB D on chip per core L2: 1.25 MB I+D on chip per core L3: 30 MB I+D on chip per chip Other: None Memory: 128 GB (4 x 32 GB 2Rx4 PC4-3200AA-R, running at 2933) Storage: 1 x 960 GB M.2 NVME SSD Other: None SOFTWARE -------- OS: SUSE Linux Enterprise Server 15 SP4 (x86_64) Kernel 5.14.21-150400.22-default Compiler: C/C++: Version 2023.0 of Intel oneAPI DPC++/C++ Compiler for Linux; Fortran: Version 2023.0 of Intel Fortran Compiler for Linux; Parallel: Yes Firmware: Lenovo BIOS Version IYE103W 1.10 released Jun-2023 File System: xfs System State: Run level 3 (multi-user) Base Pointers: 64-bit Peak Pointers: 64-bit Other: jemalloc memory allocator V5.0.1 Power Management: BIOS and OS set to prefer performance at the cost of additional power usage Compiler Notes -------------- SPEC has ruled that the compiler used for this result was performing a compilation that specifically improves the performance of the 523.xalancbmk_r / 623.xalancbmk_s benchmarks using a priori knowledge of the SPEC code and dataset to perform a transformation that has narrow applicability. In order to encourage optimizations that have wide applicability (see rule 1.4 https://www.spec.org/cpu2017/Docs/runrules.html#rule_1.4), SPEC will no longer publish results using this optimization. This result is left in the SPEC results database for historical reference. Operating System Notes ---------------------- Stack size set to unlimited using "ulimit -s unlimited" Environment Variables Notes --------------------------- Environment variables set by runcpu before the start of the run: KMP_AFFINITY = "granularity=fine,scatter" LD_LIBRARY_PATH = "/home/cpu2017-1.1.9-ic2023.0/lib/intel64:/home/cpu2017-1.1.9-ic2023.0/je5.0.1-64" MALLOC_CONF = "retain:true" OMP_STACKSIZE = "192M" General Notes ------------- Binaries compiled on a system with 2x Intel Xeon Platinum 8280M CPU + 384GB RAM memory using Redhat Enterprise Linux 8.0 Transparent Huge Pages enabled by default Prior to runcpu invocation Filesystem page cache synced and cleared with: sync; echo 3> /proc/sys/vm/drop_caches NA: The test sponsor attests, as of date of publication, that CVE-2017-5754 (Meltdown) is mitigated in the system as tested and documented. Yes: The test sponsor attests, as of date of publication, that CVE-2017-5753 (Spectre variant 1) is mitigated in the system as tested and documented. Yes: The test sponsor attests, as of date of publication, that CVE-2017-5715 (Spectre variant 2) is mitigated in the system as tested and documented. jemalloc, a general purpose malloc implementation built with the RedHat Enterprise 7.5, and the system compiler gcc 4.8.5 sources available from jemalloc.net or https://github.com/jemalloc/jemalloc/releases Platform Notes -------------- BIOS configuration: Operating Mode set to Custom Mode CPU P-state Control set to Legacy Sysinfo program /home/cpu2017-1.1.9-ic2023.0/bin/sysinfo Rev: r6732 of 2022-11-07 fe91c89b7ed5c36ae2c92cc097bec197 running on localhost Fri Jun 30 17:07:51 2023 SUT (System Under Test) info as seen by some common utilities. ------------------------------------------------------------ Table of contents ------------------------------------------------------------ 1. uname -a 2. w 3. Username 4. ulimit -a 5. sysinfo process ancestry 6. /proc/cpuinfo 7. lscpu 8. numactl --hardware 9. /proc/meminfo 10. who -r 11. Systemd service manager version: systemd 249 (249.11+suse.124.g2bc0b2c447) 12. Services, from systemctl list-unit-files 13. Linux kernel boot-time arguments, from /proc/cmdline 14. cpupower frequency-info 15. sysctl 16. /sys/kernel/mm/transparent_hugepage 17. /sys/kernel/mm/transparent_hugepage/khugepaged 18. OS release 19. Disk information 20. /sys/devices/virtual/dmi/id 21. dmidecode 22. BIOS ------------------------------------------------------------ ------------------------------------------------------------ 1. uname -a Linux localhost 5.14.21-150400.22-default #1 SMP PREEMPT_DYNAMIC Wed May 11 06:57:18 UTC 2022 (49db222) x86_64 x86_64 x86_64 GNU/Linux ------------------------------------------------------------ 2. w 17:07:51 up 1 min, 1 user, load average: 0.04, 0.03, 0.01 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 - 17:06 14.00s 1.33s 0.00s -bash ------------------------------------------------------------ 3. Username From environment variable $USER: root ------------------------------------------------------------ 4. ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 513505 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) unlimited cpu time (seconds, -t) unlimited max user processes (-u) 513505 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited ------------------------------------------------------------ 5. sysinfo process ancestry /usr/lib/systemd/systemd --switched-root --system --deserialize 30 login -- root -bash -bash -bash runcpu --nobuild --action validate --define default-platform-flags -c ic2023.0-lin-core-avx512-speed-20221201.cfg --define cores=20 --tune base,peak -o all --define intspeedaffinity --define smt-on --define drop_caches intspeed runcpu --nobuild --action validate --define default-platform-flags --configfile ic2023.0-lin-core-avx512-speed-20221201.cfg --define cores=20 --tune base,peak --output_format all --define intspeedaffinity --define smt-on --define drop_caches --nopower --runmode speed --tune base:peak --size refspeed intspeed --nopreenv --note-preenv --logfile $SPEC/tmp/CPU2017.195/templogs/preenv.intspeed.195.0.log --lognum 195.0 --from_runcpu 2 specperl $SPEC/bin/sysinfo $SPEC = /home/cpu2017-1.1.9-ic2023.0 ------------------------------------------------------------ 6. /proc/cpuinfo model name : Intel(R) Xeon(R) D-2796TE CPU @ 2.00GHz vendor_id : GenuineIntel cpu family : 6 model : 108 stepping : 1 microcode : 0x1000211 bugs : spectre_v1 spectre_v2 spec_store_bypass swapgs cpu cores : 20 siblings : 40 1 physical ids (chips) 40 processors (hardware threads) physical id 0: core ids 0-19 physical id 0: apicids 0-39 Caution: /proc/cpuinfo data regarding chips, cores, and threads is not necessarily reliable, especially for virtualized systems. Use the above data carefully. ------------------------------------------------------------ 7. lscpu From lscpu from util-linux 2.37.2: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 46 bits physical, 57 bits virtual Byte Order: Little Endian CPU(s): 40 On-line CPU(s) list: 0-39 Vendor ID: GenuineIntel Model name: Intel(R) Xeon(R) D-2796TE CPU @ 2.00GHz CPU family: 6 Model: 108 Thread(s) per core: 2 Core(s) per socket: 20 Socket(s): 1 Stepping: 1 Frequency boost: enabled CPU max MHz: 2001.0000 CPU min MHz: 800.0000 BogoMIPS: 4000.00 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local split_lock_detect wbnoinvd dtherm ida arat pln pts avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg tme avx512_vpopcntdq la57 rdpid fsrm md_clear pconfig flush_l1d arch_capabilities Virtualization: VT-x L1d cache: 960 KiB (20 instances) L1i cache: 640 KiB (20 instances) L2 cache: 25 MiB (20 instances) L3 cache: 30 MiB (1 instance) NUMA node(s): 1 NUMA node0 CPU(s): 0-39 Vulnerability Itlb multihit: Not affected Vulnerability L1tf: Not affected Vulnerability Mds: Not affected Vulnerability Meltdown: Not affected Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Vulnerability Spectre v2: Mitigation; Enhanced IBRS, IBPB conditional, RSB filling Vulnerability Srbds: Not affected Vulnerability Tsx async abort: Not affected From lscpu --cache: NAME ONE-SIZE ALL-SIZE WAYS TYPE LEVEL SETS PHY-LINE COHERENCY-SIZE L1d 48K 960K 12 Data 1 64 1 64 L1i 32K 640K 8 Instruction 1 64 1 64 L2 1.3M 25M 20 Unified 2 1024 1 64 L3 30M 30M 20 Unified 3 24576 1 64 ------------------------------------------------------------ 8. numactl --hardware NOTE: a numactl 'node' might or might not correspond to a physical chip. available: 1 nodes (0) node 0 cpus: 0-39 node 0 size: 128400 MB node 0 free: 124526 MB node distances: node 0 0: 10 ------------------------------------------------------------ 9. /proc/meminfo MemTotal: 131481952 kB ------------------------------------------------------------ 10. who -r run-level 3 Jun 30 17:06 ------------------------------------------------------------ 11. Systemd service manager version: systemd 249 (249.11+suse.124.g2bc0b2c447) Default Target Status multi-user running ------------------------------------------------------------ 12. Services, from systemctl list-unit-files STATE UNIT FILES enabled YaST2-Firstboot YaST2-Second-Stage apparmor auditd cron getty@ haveged irqbalance iscsi issue-generator kbdsettings klog lvm2-monitor nscd nvmefc-boot-connections postfix purge-kernels rollback rsyslog smartd sshd wicked wickedd-auto4 wickedd-dhcp4 wickedd-dhcp6 wickedd-nanny enabled-runtime systemd-remount-fs disabled autofs autoyast-initscripts blk-availability boot-sysctl ca-certificates chrony-wait chronyd console-getty cups cups-browsed debug-shell ebtables exchange-bmc-os-info firewalld gpm grub2-once haveged-switch-root ipmi ipmievd iscsi-init iscsid iscsiuio issue-add-ssh-keys kexec-load lunmask man-db-create multipathd nfs nfs-blkmap nmb ntp-wait ntpd nvmf-autoconnect rdisc rpcbind rpmconfigcheck rsyncd serial-getty@ smartd_generate_opts smb snmpd snmptrapd systemd-boot-check-no-failures systemd-network-generator systemd-sysext systemd-time-wait-sync systemd-timesyncd generated ntp_sync indirect wickedd ------------------------------------------------------------ 13. Linux kernel boot-time arguments, from /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-5.14.21-150400.22-default root=UUID=3b09241f-dfe9-4f77-a91b-5c9e94738f47 splash=silent mitigations=auto quiet security=apparmor ------------------------------------------------------------ 14. cpupower frequency-info analyzing CPU 0: current policy: frequency should be within 800 MHz and 2.00 GHz. The governor "performance" may decide which speed to use within this range. boost state support: Supported: yes Active: yes ------------------------------------------------------------ 15. sysctl kernel.numa_balancing 0 kernel.randomize_va_space 2 vm.compaction_proactiveness 20 vm.dirty_background_bytes 0 vm.dirty_background_ratio 10 vm.dirty_bytes 0 vm.dirty_expire_centisecs 3000 vm.dirty_ratio 20 vm.dirty_writeback_centisecs 500 vm.dirtytime_expire_seconds 43200 vm.extfrag_threshold 500 vm.min_unmapped_ratio 1 vm.nr_hugepages 0 vm.nr_hugepages_mempolicy 0 vm.nr_overcommit_hugepages 0 vm.swappiness 60 vm.watermark_boost_factor 15000 vm.watermark_scale_factor 10 vm.zone_reclaim_mode 0 ------------------------------------------------------------ 16. /sys/kernel/mm/transparent_hugepage defrag always defer defer+madvise [madvise] never enabled [always] madvise never hpage_pmd_size 2097152 shmem_enabled always within_size advise [never] deny force ------------------------------------------------------------ 17. /sys/kernel/mm/transparent_hugepage/khugepaged alloc_sleep_millisecs 60000 defrag 1 max_ptes_none 511 max_ptes_shared 256 max_ptes_swap 64 pages_to_scan 4096 scan_sleep_millisecs 10000 ------------------------------------------------------------ 18. OS release From /etc/*-release /etc/*-version os-release SUSE Linux Enterprise Server 15 SP4 ------------------------------------------------------------ 19. Disk information SPEC is set to: /home/cpu2017-1.1.9-ic2023.0 Filesystem Type Size Used Avail Use% Mounted on /dev/nvme0n1p3 xfs 893G 21G 873G 3% / ------------------------------------------------------------ 20. /sys/devices/virtual/dmi/id Vendor: Lenovo Product: ThinkEdge SE360 V2 CPU Planar Product Family: ThinkSystem Serial: 1234567890 ------------------------------------------------------------ 21. dmidecode Additional information from dmidecode 3.2 follows. WARNING: Use caution when you interpret this section. The 'dmidecode' program reads system data which is "intended to allow hardware to be accurately determined", but the intent may not be met, as there are frequent changes to hardware, firmware, and the "DMTF SMBIOS" standard. Memory: 4x Samsung M393A4K40DB3-CWE 32 GB 2 rank 3200, configured at 2933 ------------------------------------------------------------ 22. BIOS (This section combines info from /sys/devices and dmidecode.) BIOS Vendor: Lenovo BIOS Version: IYE103W-1.10 BIOS Date: 06/15/2023 BIOS Revision: 1.10 Firmware Revision: 1.10 Compiler Version Notes ---------------------- ============================================================================================================ C | 600.perlbench_s(base, peak) 602.gcc_s(base, peak) 605.mcf_s(base, peak) 625.x264_s(base, peak) | 657.xz_s(base, peak) ------------------------------------------------------------------------------------------------------------ Intel(R) oneAPI DPC++/C++ Compiler for applications running on Intel(R) 64, Version 2023.0.0 Build 20221201 Copyright (C) 1985-2022 Intel Corporation. All rights reserved. ------------------------------------------------------------------------------------------------------------ ============================================================================================================ C++ | 620.omnetpp_s(base, peak) 623.xalancbmk_s(base, peak) 631.deepsjeng_s(base, peak) | 641.leela_s(base, peak) ------------------------------------------------------------------------------------------------------------ Intel(R) oneAPI DPC++/C++ Compiler for applications running on Intel(R) 64, Version 2023.0.0 Build 20221201 Copyright (C) 1985-2022 Intel Corporation. All rights reserved. ------------------------------------------------------------------------------------------------------------ ============================================================================================================ Fortran | 648.exchange2_s(base, peak) ------------------------------------------------------------------------------------------------------------ Intel(R) Fortran Compiler for applications running on Intel(R) 64, Version 2023.0.0 Build 20221201 Copyright (C) 1985-2022 Intel Corporation. All rights reserved. ------------------------------------------------------------------------------------------------------------ Base Compiler Invocation ------------------------ C benchmarks: icx C++ benchmarks: icpx Fortran benchmarks: ifx Base Portability Flags ---------------------- 600.perlbench_s: -DSPEC_LP64 -DSPEC_LINUX_X64 602.gcc_s: -DSPEC_LP64 605.mcf_s: -DSPEC_LP64 620.omnetpp_s: -DSPEC_LP64 623.xalancbmk_s: -DSPEC_LP64 -DSPEC_LINUX 625.x264_s: -DSPEC_LP64 631.deepsjeng_s: -DSPEC_LP64 641.leela_s: -DSPEC_LP64 648.exchange2_s: -DSPEC_LP64 657.xz_s: -DSPEC_LP64 Base Optimization Flags ----------------------- C benchmarks: -m64 -std=c11 -Wl,-z,muldefs -xCORE-AVX512 -O3 -ffast-math -flto -mfpmath=sse -funroll-loops -qopt-mem-layout-trans=4 -fiopenmp -DSPEC_OPENMP -L/usr/local/jemalloc64-5.0.1/lib -ljemalloc C++ benchmarks: -m64 -std=c++14 -Wl,-z,muldefs -xCORE-AVX512 -O3 -ffast-math -flto -mfpmath=sse -funroll-loops -qopt-mem-layout-trans=4 -L/usr/local/jemalloc64-5.0.1/lib -ljemalloc Fortran benchmarks: -m64 -Wl,-z,muldefs -xCORE-AVX512 -O3 -ffast-math -flto -mfpmath=sse -funroll-loops -qopt-mem-layout-trans=4 -nostandard-realloc-lhs -align array32byte -L/usr/local/jemalloc64-5.0.1/lib -ljemalloc Peak Compiler Invocation ------------------------ C benchmarks: icx C++ benchmarks: icpx Fortran benchmarks: ifx Peak Portability Flags ---------------------- Same as Base Portability Flags Peak Optimization Flags ----------------------- C benchmarks: 600.perlbench_s: -m64 -std=c11 -Wl,-z,muldefs -fprofile-generate(pass 1) -fprofile-use=default.profdata(pass 2) -xCORE-AVX2(pass 1) -flto -Ofast(pass 1) -xCORE-AVX512 -O3 -ffast-math -mfpmath=sse -funroll-loops -qopt-mem-layout-trans=4 -fiopenmp -DSPEC_OPENMP -fno-strict-overflow -L/usr/local/jemalloc64-5.0.1/lib -ljemalloc 602.gcc_s: -m64 -std=c11 -Wl,-z,muldefs -fprofile-generate(pass 1) -fprofile-use=default.profdata(pass 2) -xCORE-AVX2(pass 1) -flto -Ofast(pass 1) -xCORE-AVX512 -O3 -ffast-math -mfpmath=sse -funroll-loops -qopt-mem-layout-trans=4 -fiopenmp -DSPEC_OPENMP -L/usr/local/jemalloc64-5.0.1/lib -ljemalloc 605.mcf_s: basepeak = yes 625.x264_s: -m64 -std=c11 -Wl,-z,muldefs -xCORE-AVX512 -O3 -ffast-math -flto -mfpmath=sse -funroll-loops -qopt-mem-layout-trans=4 -fiopenmp -DSPEC_OPENMP -fno-alias -L/usr/local/jemalloc64-5.0.1/lib -ljemalloc 657.xz_s: basepeak = yes C++ benchmarks: 620.omnetpp_s: basepeak = yes 623.xalancbmk_s: basepeak = yes 631.deepsjeng_s: basepeak = yes 641.leela_s: basepeak = yes Fortran benchmarks: 648.exchange2_s: basepeak = yes The flags files that were used to format this result can be browsed at http://www.spec.org/cpu2017/flags/Lenovo-Platform-SPECcpu2017-Flags-V1.2-Eaglestream-U.html http://www.spec.org/cpu2017/flags/Intel-ic2023-official-linux64.html You can also download the XML flags sources by saving the following links: http://www.spec.org/cpu2017/flags/Lenovo-Platform-SPECcpu2017-Flags-V1.2-Eaglestream-U.xml http://www.spec.org/cpu2017/flags/Intel-ic2023-official-linux64.xml SPEC CPU and SPECspeed are registered trademarks of the Standard Performance Evaluation Corporation. All other brand and product names appearing in this result are trademarks or registered trademarks of their respective holders. ---------------------------------------------------------------------------------------------------------------------------------- For questions about this result, please contact the tester. For other inquiries, please contact info@spec.org. Copyright 2017-2024 Standard Performance Evaluation Corporation Tested with SPEC CPU(R)2017 v1.1.9 on 2023-06-30 05:07:50-0400. Report generated on 2024-01-29 17:57:54 by CPU2017 text formatter v6255. Originally published on 2023-07-19.