diff --git a/hpvm/projects/onnx/frontend/approx_codegen.py b/hpvm/projects/onnx/frontend/approx_codegen.py index 485feef6590893daca494579bc019076242d9253..2a301273f19ddb02c657c4bb5342e22c49729fd7 100644 --- a/hpvm/projects/onnx/frontend/approx_codegen.py +++ b/hpvm/projects/onnx/frontend/approx_codegen.py @@ -1,4 +1,4 @@ -class CodeGen: +class GraphCodeGen: def __init__(self, graph): self._headers = "" self._nodes = "" @@ -100,7 +100,7 @@ class CodeGen: f.write(source) f.close() - def compileModel(self, model, weights_dir, test_data): + def codegen(self, model, weights_dir, test_data): self.emitHeaders() self.emitRoot() self.emitMainFunc(test_data) diff --git a/hpvm/projects/onnx/frontend/graph_builder.py b/hpvm/projects/onnx/frontend/graph_builder.py index 680a4d1c8c5db8c33106318239d8ccc6056cd08a..b9be0dcf3c02241a3eca3014b51f2fa8183e624f 100644 --- a/hpvm/projects/onnx/frontend/graph_builder.py +++ b/hpvm/projects/onnx/frontend/graph_builder.py @@ -178,7 +178,8 @@ class GraphBuilder(object): return dtype ################################################ - # Graph Building functions + # Top level Graph Building functions + # return the compile-ready graph ################################################ def build_graph(self): @@ -225,5 +226,6 @@ class GraphBuilder(object): #print("input: " + str(node.input)) #print("output: " + str(node.output)) #print(self._nodes) + return self.dfg \ No newline at end of file diff --git a/hpvm/projects/onnx/frontend/graph_codegen.py b/hpvm/projects/onnx/frontend/graph_codegen.py index ac78e56b0cca96edb57738663738207029004251..2f63b24e9e175c5447939d52a0e8084c462f2b4d 100644 --- a/hpvm/projects/onnx/frontend/graph_codegen.py +++ b/hpvm/projects/onnx/frontend/graph_codegen.py @@ -2,10 +2,10 @@ import sys import numpy as np import os -from operators import * -from ir import * +from graph_builder import * +from graph_ir import * -class GraphCodegen(object): +class GraphCodeGen(object): def __init__(self, DFG): self.program_str = "" self.dfg = DFG @@ -121,4 +121,5 @@ class GraphCodegen(object): self.emit_graph() self.emit_batch_loop_end() self.emit_footer(test_data) + # Write the program to source/disk self.emit_source(weights_dir) diff --git a/hpvm/projects/onnx/frontend/main.py b/hpvm/projects/onnx/frontend/main.py index 97253a3ea55e0bf12f0991461274e07d30e1751e..fdde98fe835073b56be6d78e493ae8c90e5d43e2 100644 --- a/hpvm/projects/onnx/frontend/main.py +++ b/hpvm/projects/onnx/frontend/main.py @@ -3,28 +3,34 @@ import sys import numpy as np import onnx import glob -from onnxruntime.backend.backend import OnnxRuntimeBackend as backend from onnx import numpy_helper, version_converter +from onnxruntime.backend.backend import OnnxRuntimeBackend as backend # onnx2hpvm modules from graph_builder import GraphBuilder -from graph_codegen import GraphCodegen - +from graph_codegen import GraphCodeGen +# from approx_codegen import GraphCodeGen -def main(): - model = onnx.load('../models/keras/alexnet.onnx') - test_data_dir = '../models/mnist/test_data_set_0' - #model = onnx.load('../models/mnist/mnist.onnx') +def convert_version(model): - # print('The model before conversion:\n{}'.format(model)) + print('The model before conversion:\n{}'.format(model)) # A full list of supported adapters can be found here: # https://github.com/onnx/onnx/blob/master/onnx/version_converter.py#L21 # Apply the version conversion on the original model - # converted_model = version_converter.convert_version(model, 12) + converted_model = version_converter.convert_version(model, 12) + + print('The model after conversion:\n{}'.format(converted_model)) + return converted_model + + +def main(): + model = onnx.load('../models/keras/alexnet.onnx') + weights_dir = './test_src' + test_data_dir = '../models/mnist/test_data_set_0' + # converted_model = convert_version(model) - # print('The model after conversion:\n{}'.format(converted_model)) graph = model.graph try: opset = model.opset_import[0].version if model.opset_import else 1 @@ -32,9 +38,8 @@ def main(): opset = 1 # default opset version set to 1 if not specified print("opset version: ", opset) gBuilder = GraphBuilder(model, None, "float32", opset) - gBuilder.build_graph() - gCodegen = GraphCodegen(gBuilder.dfg) - gCodegen.codegen(weights_dir, test_data, test_labels) + gCodegen = GraphCodeGen(gBuilder.build_graph()) + gCodegen.codegen(weights_dir, test_data)#, test_labels) if __name__ == "__main__": diff --git a/hpvm/projects/onnx/specs.dump b/hpvm/projects/onnx/specs.dump new file mode 100644 index 0000000000000000000000000000000000000000..3016325b9bb2f94c3d66f0185408cccfa7cf9a43 --- /dev/null +++ b/hpvm/projects/onnx/specs.dump @@ -0,0 +1,1051 @@ + +Computer +******** + + +Summary +------- + +-Computer- +Processor : 40x Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz +Memory : 65830MB (28703MB used) +Operating System : Ubuntu 16.04.6 LTS +User Name : ys26 (Yuanjing Shi) +Date/Time : Tue 31 Mar 2020 07:33:16 PM CDT +-Display- +Resolution : 0x0 pixels +OpenGL Renderer : Unknown +X11 Vendor : (null) +-Multimedia- +Audio Adapter : HDA-Intel - HDA Intel PCH +Audio Adapter : HDA-Intel - HDA NVidia +Audio Adapter : HDA-Intel - HDA NVidia +-Input Devices- + Power Button + Power Button + HDA Intel PCH Front Mic + HDA Intel PCH Rear Mic + HDA Intel PCH Line + HDA Intel PCH Line Out Front + HDA Intel PCH Line Out Surround + HDA Intel PCH Line Out CLFE + HDA Intel PCH Front Headphone + HDA NVidia HDMI/DP,pcm : 3= + HDA NVidia HDMI/DP,pcm : 7= + HDA NVidia HDMI/DP,pcm : 8= + HDA NVidia HDMI/DP,pcm : 9= + HDA NVidia HDMI/DP,pcm : 3= + HDA NVidia HDMI/DP,pcm : 7= + HDA NVidia HDMI/DP,pcm : 8= + HDA NVidia HDMI/DP,pcm : 9= + Dell Dell USB Keyboard + Logitech USB-PS/2 Optical Mouse +-Printers- +No printers found +-SCSI Disks- +ATA Samsung SSD 850 +ATA Samsung SSD 850 +Generic Ultra HS-SD/MMC + +Operating System +---------------- + +-Version- +Kernel : Linux 4.15.0-66-generic (x86_64) +Compiled : #75~16.04.1-Ubuntu SMP Tue Oct 1 14:01:08 UTC 2019 +C Library : Unknown +Default C Compiler : GNU C Compiler version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11) +Distribution : Ubuntu 16.04.6 LTS +-Current Session- +Computer Name : tyler +User Name : ys26 (Yuanjing Shi) +Home Directory : /home/ys26 +Desktop Environment : Terminal +-Misc- +Uptime : 67 days, 16 hours and 1 minute +Load Average : 19.85, 20.81, 20.51 + +Kernel Modules +-------------- + +-Loaded Modules- +nvidia_uvm +nfsv3 +nfs_acl +nfs +lockd : NFS file locking service version 0.5. +grace +fscache : FS Cache Manager +nvram +video : ACPI Video Driver +msr : x86 generic MSR driver +xt_tcpudp : Xtables: TCP, UDP and UDP-Lite match +iptable_filter : iptables filter table +ip_tables : IPv4 packet filter +x_tables : {ip,ip6,arp,eb}_tables backend module +input_leds : Input -> LEDs Bridge +snd_hda_codec_hdmi : HDMI HD-audio codec +binfmt_misc +xfs : SGI XFS with ACLs, security attributes, realtime, no debug enabled +nvidia_drm +nvidia_modeset +nvidia +intel_rapl : Driver for Intel RAPL (Running Average Power Limit) +sb_edac : MC Driver for Intel Sandy Bridge and Ivy Bridge memory controllers - Ver: 1.1.2 +x86_pkg_temp_thermal : X86 PKG TEMP Thermal Driver +intel_powerclamp : Package Level C-state Idle Injection for Intel CPUs +coretemp : Intel Core temperature monitor +snd_hda_codec_realtek : Realtek HD-audio codec +kvm_intel +snd_hda_codec_generic : Generic HD-audio codec parser +kvm +snd_hda_intel : Intel HDA driver +snd_hda_codec : HDA codec core +snd_hda_core : HD-audio bus +snd_hwdep : Hardware dependent layer +irqbypass : IRQ bypass manager utility module +snd_pcm : Midlevel PCM code for ALSA. +intel_wmi_thunderbolt : Intel WMI Thunderbolt force power driver +intel_cstate +snd_seq_midi : Advanced Linux Sound Architecture sequencer MIDI synth. +intel_rapl_perf +snd_seq_midi_event : MIDI byte <-> sequencer event coder +drm_kms_helper : DRM KMS helper +snd_rawmidi : Midlevel RawMidi code for ALSA. +drm : DRM shared core routines +snd_seq : Advanced Linux Sound Architecture sequencer. +snd_seq_device : ALSA sequencer device management +ipmi_devintf : Linux device interface for the IPMI message handler. +snd_timer : ALSA timer interface +ipmi_msghandler : Incoming and outgoing message routing for an IPMI interface. +fb_sys_fops : Generic file read (fb in system RAM) +snd : Advanced Linux Sound Architecture driver for soundcards. +syscopyarea : Generic copyarea (sys-to-sys) +sysfillrect : Generic fill rectangle (sys-to-sys) +sysimgblt : 1-bit/8-bit to 1-32 bit color expansion (sys-to-sys) +lpc_ich : LPC interface for Intel ICH +soundcore : Core sound module +ioatdma +shpchp : Standard Hot Plug PCI Controller Driver +mac_hid +ib_iser : iSER (iSCSI Extensions for RDMA) Datamover +rdma_cm : Generic RDMA CM Agent +iw_cm : iWARP CM +ib_cm : InfiniBand CM +ib_core : core kernel InfiniBand API +iscsi_tcp : iSCSI/TCP data-path +libiscsi_tcp : iSCSI/TCP data-path +libiscsi : iSCSI library functions +scsi_transport_iscsi : iSCSI Transport Interface +parport_pc : PC-style parallel port driver +ppdev +lp +parport +sunrpc +autofs4 +btrfs +zstd_compress : Zstd Compressor +raid10 : RAID10 (striped mirror) personality for MD +raid456 : RAID4/5/6 (striping with parity) personality for MD +async_raid6_recov : asynchronous RAID-6 recovery api +async_memcpy : asynchronous memcpy api +async_pq : asynchronous raid6 syndrome generation/validation +async_xor : asynchronous xor/xor-zero-sum api +async_tx : Asynchronous Bulk Memory Transactions API +xor +raid6_pq : RAID6 Q-syndrome calculations +libcrc32c : CRC32c (Castagnoli) calculations +raid1 : RAID1 (mirroring) personality for MD +raid0 : RAID0 (striping) personality for MD +multipath : simple multi-path personality for MD +linear : Linear device concatenation personality for MD +uas +usb_storage : USB Mass Storage driver for Linux +hid_generic : HID generic driver +usbhid : USB HID core driver +hid +mxm_wmi : MXM WMI Driver +crct10dif_pclmul : T10 DIF CRC calculation accelerated with PCLMULQDQ. +crc32_pclmul +ghash_clmulni_intel : GHASH Message Digest Algorithm, acclerated by PCLMULQDQ-NI +pcbc : PCBC block cipher algorithm +igb : Intel(R) Gigabit Ethernet Network Driver +aesni_intel : Rijndael (AES) Cipher Algorithm, Intel AES-NI instructions optimized +dca +i2c_algo_bit : I2C-Bus bit-banging algorithm +aes_x86_64 : Rijndael (AES) Cipher Algorithm, asm optimized +ahci : AHCI SATA low-level driver +crypto_simd +ptp : PTP clocks support +glue_helper +cryptd : Software async crypto daemon +pps_core : LinuxPPS support (RFC 2783) - ver. 5.3.6 +libahci : Common AHCI SATA low-level routines +wmi : ACPI-WMI Mapping Driver + +Boots +----- + +-Boots- +Fri Jan 24 02:31 : 44..15.0-66-generi|still +Mon Nov 18 18:04 : 44..15.0-66-generi|still +Fri Nov 1 1:52 : 44..15.0-66-generi|- +Fri Nov 1 1:25 : 44..15.0-66-generi|- + +Languages +--------- + +-Available Languages- +en_US.utf8 : English locale for the USA + +Filesystems +----------- + +-Mounted File Systems- +udev /dev 0.00 % (31.4 GiB of 31.4 GiB) +tmpfs /run 7.15 % (5.8 GiB of 6.3 GiB) +/dev/mapper/tyler--vg-root / 5.81 % (1720.1 GiB of 1826.1 GiB) +tmpfs /dev/shm 0.00 % (31.4 GiB of 31.4 GiB) +tmpfs /run/lock 0.08 % (5.0 MiB of 5.0 MiB) +tmpfs /sys/fs/cgroup 0.00 % (31.4 GiB of 31.4 GiB) +/dev/sdb1 /srv/local 9.99 % (1676.1 GiB of 1862.1 GiB) +/dev/sdb1 /nix 9.99 % (1676.1 GiB of 1862.1 GiB) +/dev/sda2 /boot 11.01 % (3.3 GiB of 3.7 GiB) +vadve-file-01.cs.illinois.edu:/srv/home/deepanv2 /home/deepanv2 84.56 % (1580.7 GiB of 10238.0 GiB) +tmpfs /run/user/242233 0.00 % (6.3 GiB of 6.3 GiB) +vadve-file-01.cs.illinois.edu:/srv/home/nz11 /home/nz11 84.56 % (1580.7 GiB of 10238.0 GiB) +tmpfs /run/user/1091162 0.00 % (6.3 GiB of 6.3 GiB) +vadve-file-01.cs.illinois.edu:/srv/home/hsharif3 /home/hsharif3 84.56 % (1580.7 GiB of 10238.0 GiB) +tmpfs /run/user/641600 0.00 % (6.3 GiB of 6.3 GiB) +vadve-file-01.cs.illinois.edu:/srv/home/bjschre2 /home/bjschre2 84.56 % (1580.7 GiB of 10238.0 GiB) +tmpfs /run/user/373498 0.00 % (6.3 GiB of 6.3 GiB) +/etc/autofs/cs_vadve/auto.direct /shared 84.56 % (1580.7 GiB of 10238.0 GiB) +engr-linux-siebl1.engr.illinois.edu:/srv/software/megacli-8.07 /software/megacli-8.07 95.35 % (92.6 GiB of 1992.1 GiB) +vadve-file-01.cs.illinois.edu:/srv/shared /shared 84.56 % (1580.7 GiB of 10238.0 GiB) +engr-linux-siebl1.engr.illinois.edu:/srv/software/cuda-9.1 /software/cuda-9.1 95.35 % (92.6 GiB of 1992.1 GiB) +vadve-file-01.cs.illinois.edu:/srv/home/yifanz16 /home/yifanz16 84.56 % (1580.7 GiB of 10238.0 GiB) +tmpfs /run/user/1086025 0.00 % (6.3 GiB of 6.3 GiB) +vadve-file-01.cs.illinois.edu:/srv/home/ys26 /home/ys26 84.56 % (1580.7 GiB of 10238.0 GiB) +tmpfs /run/user/1055463 0.00 % (6.3 GiB of 6.3 GiB) + +Display +------- + +-Display- +Resolution : 0x0 pixels +Vendor : (null) +Version : (null) +-Monitors- +-Extensions- + +Environment Variables +--------------------- + +-Environment Variables- +MANPATH : /usr/share/lmod/lmod/share/man:: +NIX_PROFILES : /nix/var/nix/profiles/default /home/ys26/.nix-profile +XDG_SESSION_ID : 14482 +TERM : xterm-256color +SHELL : /bin/bash +DISTARCH : Linux-x86_64 +MODULEPATH_ROOT : /etc/modulefiles/software +SSH_CLIENT : 10.251.9.206 64268 22 +CONDA_SHLVL : 1 +CONDA_PROMPT_MODIFIER : (base) +LMOD_PKG : /usr/share/lmod/lmod +LMOD_VERSION : 7.7.14 +GTK_MODULES : gail:atk-bridge +SSH_TTY : /dev/pts/7 +USER : ys26 +LMOD_sys : Linux +CONDA_EXE : /home/ys26/anaconda3/bin/conda +_CE_CONDA +MAIL : /var/mail/ys26 +PATH : /home/ys26/anaconda3/bin:/home/ys26/anaconda3/condabin:/home/ys26/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/ys26/.local/bin:/home/ys26/bin +CONDA_PREFIX : /home/ys26/anaconda3 +NIX_PATH : nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixpkgs:/nix/var/nix/profiles/per-user/root/channels +PWD : /home/ys26 +LANG : en_US.UTF-8 +MODULEPATH : /etc/modulefiles/software/Linux:/etc/modulefiles/software/Core:/usr/share/lmod/lmod/modulefiles/Core:/etc/modulefiles/env:/etc/modulefiles/class:/etc/modulefiles/software +NIX_SSL_CERT_FILE : /etc/ssl/certs/ca-certificates.crt +LMOD_CMD : /usr/share/lmod/lmod/libexec/lmod +_CE_M +KRB5CCNAME : FILE:/tmp/krb5cc_1055463_itHNAb +SHLVL : 1 +HOME : /home/ys26 +LANGUAGE : en_US: +SHOST : tyler +BASH_ENV : /usr/share/lmod/lmod/init/bash +CONDA_PYTHON_EXE : /home/ys26/anaconda3/bin/python +LMOD_arch : x86_64 +LOGNAME : ys26 +XDG_DATA_DIRS : /usr/local/share:/usr/share:/var/lib/snapd/desktop +SOFTPATH : /software +SSH_CONNECTION : 10.251.9.206 64268 130.126.136.179 22 +MODULESHOME : /usr/share/lmod/lmod +CONDA_DEFAULT_ENV : base +LMOD_SETTARG_FULL_SUPPORT : no +ARCH : x86_64 +XDG_RUNTIME_DIR : /run/user/1055463 +LMOD_DIR : /usr/share/lmod/lmod/libexec +NIX_USER_PROFILE_DIR : /nix/var/nix/profiles/per-user/ys26 +BASH_FUNC_module%% : () { eval $($LMOD_CMD bash "$@") && eval $(${LMOD_SETTARG_CMD:-:} -s sh) + +Users +----- + +-Users- +root : root +daemon : daemon +bin : bin +sys : sys +sync : sync +games : games +man : man +lp : lp +mail : mail +news : news +uucp : uucp +proxy : proxy +www-data : www-data +backup : backup +list : Mailing List Manager +irc : ircd +gnats : Gnats Bug-Reporting System (admin) +nobody : nobody +systemd-timesync : systemd Time Synchronization +systemd-network : systemd Network Management +systemd-resolve : systemd Resolver +systemd-bus-proxy : systemd Bus Proxy +syslog +_apt +messagebus +lxd +dnsmasq : dnsmasq +sshd +statd +postfix +colord : colord colour management daemon +ntp +clamav +sensu : Sensu Monitoring Framework +telegraf +lightdm : Light Display Manager +whoopsie +avahi-autoipd : Avahi autoip daemon +avahi : Avahi mDNS daemon +speech-dispatcher : Speech Dispatcher +hplip : HPLIP system user +kernoops : Kernel Oops Tracking Daemon +pulse : PulseAudio daemon +rtkit : RealtimeKit +saned +usbmux : usbmux daemon +nixbld1 : Nix build user 1 +nixbld2 : Nix build user 2 +nixbld3 : Nix build user 3 +nixbld4 : Nix build user 4 +nixbld5 : Nix build user 5 +nixbld6 : Nix build user 6 +nixbld7 : Nix build user 7 +nixbld8 : Nix build user 8 +nixbld9 : Nix build user 9 +nixbld10 : Nix build user 10 +nixbld11 : Nix build user 11 +nixbld12 : Nix build user 12 +nixbld13 : Nix build user 13 +nixbld14 : Nix build user 14 +nixbld15 : Nix build user 15 +nixbld16 : Nix build user 16 +nixbld17 : Nix build user 17 +nixbld18 : Nix build user 18 +nixbld19 : Nix build user 19 +nixbld20 : Nix build user 20 +nixbld21 : Nix build user 21 +nixbld22 : Nix build user 22 +nixbld23 : Nix build user 23 +nixbld24 : Nix build user 24 +nixbld25 : Nix build user 25 +nixbld26 : Nix build user 26 +nixbld27 : Nix build user 27 +nixbld28 : Nix build user 28 +nixbld29 : Nix build user 29 +nixbld30 : Nix build user 30 +nixbld31 : Nix build user 31 +nixbld32 : Nix build user 32 + +Devices +******* + + +Processor +--------- + +-Processors- +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2599.98MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2602.97MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2456.45MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2601.63MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2600.04MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2600.07MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2600.02MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2600.04MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2600.03MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2600.19MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2695.21MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2715.75MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2715.46MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 1424.73MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 1787.70MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2711.77MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 1353.80MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2710.79MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2709.20MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2642.89MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2600.04MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2600.04MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2449.84MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2600.04MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2600.05MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2600.04MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2600.04MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2599.95MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2600.04MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2600.04MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2706.53MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2675.88MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2792.21MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 1358.61MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 1748.81MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2611.28MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 1373.20MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2705.52MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2736.24MHz +Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz : 2702.87MHz + +Memory +------ + +-Memory- +Total Memory : 65830480 kB +Free Memory : 14031276 kB +MemAvailable : 38320820 kB +Buffers : 398312 kB +Cached : 23096348 kB +Cached Swap : 126052 kB +Active : 33001128 kB +Inactive : 14469604 kB +Active(anon) : 23204468 kB +Inactive(anon) : 830232 kB +Active(file) : 9796660 kB +Inactive(file) : 13639372 kB +Unevictable : 3684 kB +Mlocked : 3684 kB +Virtual Memory : 3997692 kB +Free Virtual Memory : 2660556 kB +Dirty : 136 kB +Writeback : 8 kB +AnonPages : 23971776 kB +Mapped : 1338980 kB +Shmem : 63004 kB +Slab : 3122640 kB +SReclaimable : 1516712 kB +SUnreclaim : 1605928 kB +KernelStack : 30624 kB +PageTables : 108936 kB +NFS_Unstable : 0 kB +Bounce : 0 kB +WritebackTmp : 0 kB +CommitLimit : 36912932 kB +Committed_AS : 64285764 kB +VmallocTotal : 34359738367 kB +VmallocUsed : 0 kB +VmallocChunk : 0 kB +HardwareCorrupted : 0 kB +AnonHugePages : 2934784 kB +ShmemHugePages : 0 kB +ShmemPmdMapped : 0 kB +CmaTotal : 0 kB +CmaFree : 0 kB +HugePages_Total : 0 +HugePages_Free : 0 +HugePages_Rsvd : 0 +HugePages_Surp : 0 +Hugepagesize : 2048 kB +DirectMap4k : 63504064 kB +DirectMap2M : 3469312 kB +DirectMap1G : 2097152 kB + +PCI Devices +----------- + +-PCI Devices- +Host bridge : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DMI2 (rev 01) +PCI bridge : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 1 (rev 01) (prog-if 00 [Normal decode]) +PCI bridge : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 3 (rev 01) (prog-if 00 [Normal decode]) +System peripheral : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +System peripheral : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 1 (rev 01) +System peripheral : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 2 (rev 01) +System peripheral : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 3 (rev 01) +System peripheral : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 4 (rev 01) +System peripheral : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 5 (rev 01) +System peripheral : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 6 (rev 01) +System peripheral : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 7 (rev 01) +System peripheral : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Map/VTd_Misc/System Management (rev 01) +System peripheral : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Hot Plug (rev 01) +System peripheral : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO RAS/Control Status/Global Errors (rev 01) +PIC : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D I/O APIC (rev 01) (prog-if 20 [IO(X)-APIC]) + +USB Devices +----------- + + +Printers +-------- + +-Printers- +No printers found + +Battery +------- + +-No batteries- +No batteries found on this system + +Sensors +------- + +-Cooling Fans- +-Temperatures- +-Voltage Values- + +Input Devices +------------- + +-Input Devices- + Power Button + Power Button + HDA Intel PCH Front Mic + HDA Intel PCH Rear Mic + HDA Intel PCH Line + HDA Intel PCH Line Out Front + HDA Intel PCH Line Out Surround + HDA Intel PCH Line Out CLFE + HDA Intel PCH Front Headphone + HDA NVidia HDMI/DP,pcm : 3= + HDA NVidia HDMI/DP,pcm : 7= + HDA NVidia HDMI/DP,pcm : 8= + HDA NVidia HDMI/DP,pcm : 9= + HDA NVidia HDMI/DP,pcm : 3= + HDA NVidia HDMI/DP,pcm : 7= + HDA NVidia HDMI/DP,pcm : 8= + HDA NVidia HDMI/DP,pcm : 9= + Dell Dell USB Keyboard + Logitech USB-PS/2 Optical Mouse + +Storage +------- + +-SCSI Disks- +ATA Samsung SSD 850 +ATA Samsung SSD 850 +Generic Ultra HS-SD/MMC + +DMI +--- + +-BIOS- +Date : 11/09/2016 +Vendor : American Megatrends Inc. (www.ami.com) +Version : 2.0a +-Board- +Name : X10DAI +Vendor : Supermicro + +Resources +--------- + +-I/O Ports- +<tt>0000-0000 </tt> : PCI Bus 0000:80 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt>0000-0000 </tt> : PCI Bus 0000:80 +<tt>0000-0000 </tt> : PCI Bus 0000:80 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +<tt>0000-0000 </tt> : PCI Bus 0000:80 +<tt> 0000-0000 </tt> : PCI Bus 0000:81 +<tt> 0000-0000 </tt> : NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) +-Memory- +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : ICH HD audio +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : ICH HD audio +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : ICH HD audio +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : ICH HD audio +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : ICH HD audio +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : ICH HD audio +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : ICH HD audio +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : ICH HD audio +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt>00000000-00000000 </tt> : PCI Bus 0000:80 +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +<tt> 00000000-00000000 </tt> : Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 (rev 01) +<tt> 00000000-00000000 </tt> : ioatdma +-DMA- +<tt> 4</tt> : cascade + +Network +******* + + +Interfaces +---------- + +-Network Interfaces- +eth0 4338573.20MiB 13789563.94MiB 130.126.136.179 +eth1 0.00MiB 0.00MiB +lo 4132.02MiB 4132.02MiB 127.0.0.1 + +IP Connections +-------------- + +-Connections- +0.0.0.0:22 LISTEN 0.0.0.0:* tcp +127.0.0.1:3030 0.0.0.0:* udp +127.0.0.1:631 LISTEN 0.0.0.0:* tcp +127.0.0.1:3031 LISTEN 0.0.0.0:* tcp +127.0.0.1:8888 LISTEN 0.0.0.0:* tcp +127.0.0.1:25 LISTEN 0.0.0.0:* tcp +127.0.0.1:6010 ESTABLISHED 127.0.0.1:59498 tcp +0.0.0.0:445 LISTEN 0.0.0.0:* tcp +127.0.0.1:34409 LISTEN 0.0.0.0:* tcp +0.0.0.0:139 LISTEN 0.0.0.0:* tcp +0.0.0.0:47279 LISTEN 0.0.0.0:* tcp +0.0.0.0:111 0.0.0.0:* udp +0.0.0.0:39059 LISTEN 0.0.0.0:* tcp +127.0.1.1:53 0.0.0.0:* udp +127.0.0.1:6010 ESTABLISHED 127.0.0.1:59498 tcp +127.0.0.1:59498 ESTABLISHED 127.0.0.1:6010 tcp +130.126.136.179:765 ESTABLISHED 172.22.98.29:33920 tcp +130.126.136.179:40932 ESTABLISHED 172.22.246.11:4505 tcp +130.126.136.179:789 ESTABLISHED 130.126.112.49:2049 tcp +130.126.136.179:58444 ESTABLISHED 172.22.6.74:5672 tcp +130.126.136.179:37674 ESTABLISHED 172.22.6.146:8086 tcp +130.126.136.179:58446 ESTABLISHED 172.22.6.74:5672 tcp +130.126.136.179:22 ESTABLISHED 10.251.18.206:65464 tcp +130.126.136.179:22 ESTABLISHED 10.251.18.206:65464 tcp +130.126.136.179:45112 TIME_WAIT 172.22.98.29:111 tcp +130.126.136.179:58442 ESTABLISHED 172.22.6.74:5672 tcp +130.126.136.179:33326 ESTABLISHED 172.22.246.13:4505 tcp +130.126.136.179:59164 ESTABLISHED 172.22.246.140:4505 tcp +130.126.136.179:22 ESTABLISHED 10.251.18.206:65464 tcp +130.126.136.179:58440 ESTABLISHED 172.22.6.74:5672 tcp +130.126.136.179:745 ESTABLISHED 172.22.98.29:2049 tcp +130.126.136.179:51970 ESTABLISHED 172.22.246.14:10514 tcp +130.126.136.179:22 ESTABLISHED 10.251.18.206:65464 tcp +:::22 LISTEN :::* tcp6 +::1:631 LISTEN :::* tcp6 +::1:6010 LISTEN :::* tcp6 +:::445 LISTEN :::* tcp6 +:::44513 LISTEN :::* tcp6 +:::139 LISTEN :::* tcp6 +:::111 :::* udp6 +:::35349 LISTEN :::* tcp6 +0.0.0.0:59373 0.0.0.0:* udp +127.0.1.1:53 0.0.0.0:* udp +0.0.0.0:68 0.0.0.0:* udp +0.0.0.0:111 0.0.0.0:* udp +130.126.136.179:123 0.0.0.0:* udp +127.0.0.1:123 0.0.0.0:* udp +0.0.0.0:123 0.0.0.0:* udp +130.126.139.255:137 0.0.0.0:* udp +130.126.136.179:137 0.0.0.0:* udp +0.0.0.0:137 0.0.0.0:* udp +130.126.139.255:138 0.0.0.0:* udp +130.126.136.179:138 0.0.0.0:* udp +0.0.0.0:138 0.0.0.0:* udp +0.0.0.0:631 0.0.0.0:* udp +127.0.0.1:762 0.0.0.0:* udp +0.0.0.0:773 0.0.0.0:* udp +0.0.0.0:34156 0.0.0.0:* udp +0.0.0.0:34688 0.0.0.0:* udp +127.0.0.1:3030 0.0.0.0:* udp +0.0.0.0:37696 0.0.0.0:* udp +0.0.0.0:5353 0.0.0.0:* udp +0.0.0.0:42410 0.0.0.0:* udp +:::111 :::* udp6 +2620:0:e00:550a:5c4:123 :::* udp6 +2620:0:e00:550a:4cd:123 :::* udp6 +2620:0:e00:550a:f5e:123 :::* udp6 +2620:0:e00:550a:c5b:123 :::* udp6 +2620:0:e00:550a:cd1:123 :::* udp6 +2620:0:e00:550a:dcf:123 :::* udp6 +2620:0:e00:550a:d8d:123 :::* udp6 +fe80::ec4:7aff:fedc:123 :::* udp6 +2620:0:e00:550a:ec4:123 :::* udp6 +::1:123 :::* udp6 +:::123 :::* udp6 +:::773 :::* udp6 +:::37708 :::* udp6 +:::5353 :::* udp6 +:::39262 :::* udp6 +:::47288 :::* udp6 +:::55076 :::* udp6 + +Routing Table +------------- + +-IP routing table- +0.0.0.0 / 130.126.136.1 0.0.0.0 UG eth0 +130.126.136.0 / 0.0.0.0 255.255.252.0 U eth0 +169.254.0.0 / 0.0.0.0 255.255.0.0 U eth0 +192.17.2.10 / 130.126.136.1 255.255.255.255 UGH eth0 + +ARP Table +--------- + +-ARP Table- +130.126.136.121 90:b1:1c:2d:31:0e eth0 +130.126.136.198 40:a8:f0:47:38:97 eth0 +130.126.136.1 00:fe:c8:5d:df:ff eth0 +130.126.136.110 98:10:e8:f3:a2:4f eth0 +130.126.136.247 00:11:32:c3:57:3f eth0 +130.126.136.159 c4:34:6b:5e:26:eb eth0 +130.126.136.243 00:4e:01:bf:b6:ea eth0 +130.126.136.77 bc:30:5b:e0:f9:06 eth0 +130.126.139.44 98:90:96:dc:55:d9 eth0 +130.126.136.14 4c:d9:8f:17:1c:e2 eth0 +130.126.136.73 18:66:da:31:06:6b eth0 +130.126.136.63 18:66:da:3d:e2:68 eth0 +169.254.169.254 00:fe:c8:5d:df:ff eth0 +130.126.136.126 20:04:0f:f4:66:74 eth0 +130.126.139.118 70:85:c2:83:33:0b eth0 +130.126.136.210 2c:4d:54:46:4f:ed eth0 +130.126.136.195 48:4d:7e:f5:03:b2 eth0 +130.126.136.55 40:a8:f0:5e:b9:9f eth0 +130.126.136.118 90:b1:1c:1a:02:d6 eth0 +130.126.136.156 04:d4:c4:5b:50:f4 eth0 +130.126.136.240 e4:54:e8:79:44:68 eth0 +130.126.136.162 88:51:fb:58:dc:b2 eth0 +130.126.136.148 6c:2b:59:d5:f9:d2 eth0 +130.126.136.11 8c:dc:d4:29:8d:28 eth0 +130.126.136.74 c8:2a:14:1e:91:67 eth0 +130.126.138.79 74:e6:e2:da:8b:93 eth0 +130.126.136.7 18:03:73:3c:2e:f1 eth0 +130.126.136.129 00:25:00:ed:73:7d eth0 +130.126.136.245 00:04:4b:dd:43:42 eth0 +130.126.136.119 90:b1:1c:2d:2a:90 eth0 +130.126.136.182 90:b1:1c:5e:2c:72 eth0 +130.126.136.241 e4:54:e8:79:52:be eth0 +130.126.136.100 64:00:6a:5f:2e:25 eth0 +130.126.139.197 6c:3b:e5:14:6c:8f eth0 +130.126.136.12 54:bf:64:99:59:02 eth0 +130.126.136.23 8c:ec:4b:b2:4f:c9 eth0 +130.126.136.201 fc:aa:14:2f:a7:ab eth0 +130.126.136.191 40:6c:8f:24:b1:a4 eth0 +130.126.138.206 18:66:da:0d:6f:d0 eth0 +130.126.136.120 90:b1:1c:2d:2e:f8 eth0 +130.126.136.46 48:4d:7e:e6:a4:16 eth0 +130.126.138.135 38:c9:86:02:0b:99 eth0 +130.126.136.105 d0:94:66:7b:67:c0 eth0 +130.126.136.221 f8:b1:56:c6:32:86 eth0 +130.126.136.95 00:24:e8:44:aa:a7 eth0 +130.126.136.28 ac:1f:6b:48:8a:84 eth0 +130.126.136.242 00:4e:01:bf:6c:ca eth0 +130.126.136.76 18:66:da:00:bb:74 eth0 +130.126.136.97 98:90:96:bc:6f:66 eth0 +130.126.136.160 ac:87:a3:1f:4e:ca eth0 +130.126.136.9 6c:2b:59:c7:ad:19 eth0 +130.126.136.72 50:9a:4c:59:c3:5a eth0 +130.126.136.209 18:66:da:30:64:45 eth0 +130.126.136.83 00:13:3b:11:6a:a1 eth0 +130.126.136.5 4c:d9:8f:0c:1e:02 eth0 + +DNS Servers +----------- + +-Name servers- +127.0.1.1 + +Statistics +---------- + +-IP- +3340235186 : Total packets received +99269 : With invalid addresses +0 : Incoming packets discarded +0 : Incoming packets discarded +3340132854 : Incoming packets delivered +1109643438 : Requests sent out +16 : Outgoing packets dropped +248929 : Dropped because of missing route +6126 : Reassemblies required +3063 : Packets reassembled ok +-ICMP- +1355 : ICMP messages received +19 : Input ICMP message failed. +7599 : ICMP messages sent +0 : ICMP messages failed +-ICMPMSG- +-TCP- +26139644 : Active connections openings +3919 : Passive connection openings +25871410 : Failed connection attempts +4562 : Connection resets received +18 : Connections established +3302346907 : Segments received +10359040645 : Segments send out +2844431 : Segments retransmited +1 : Bad segments received. +25878380 : Resets sent +-UDP- +24979118 : Packets received +6362 : Packets to unknown port received. +4203 : Packet receive errors +662177 : Packets sent +-UDPLITE- +-TCPEXT- +1 : Resets received for embryonic SYN_RECV sockets +235858 : TCP sockets finished time wait in fast timer +171 : Time wait sockets recycled by time stamp +1825 : Packets rejects in established connections because of timestamp +6984717 : Delayed acks sent +3194 : Delayed acks further delayed because of locked socket +527487290 : Packet headers predicted +543016884 : Acknowledgments not containing data payload received +1893599141 : Predicted acknowledgments +554129 : Times recovered from packet loss by selective acknowledgements +119 : Congestion windows fully recovered without slow start +85 : Congestion windows partially recovered using Hoe heuristic +6456 : Congestion windows recovered without slow start by DSACK +1683 : Congestion windows recovered without slow start after partial ack +101 : Timeouts after SACK recovery +136 : Timeouts in loss state +2738885 : Fast retransmits +2730 : Retransmits in slow start +3141 : Other TCP timeouts +820 : SACK retransmits failed +32589 : DSACKs sent for old packets +607 : DSACKs sent for out of order packets +84876 : DSACKs received +567 : DSACKs for out of order packets received +650 : Connections reset due to unexpected data +4384 : Connections reset due to early user close +286 : Connections aborted due to timeout +3 : Times unabled to send RST due to no memory +-IPEXT- + +Shared Directories +------------------ + +-SAMBA- +-NFS- + +Benchmarks +********** + + +CPU Blowfish +------------ + +-CPU Blowfish- +<big><b>This Machine</b></big> 2600 MHz 0.665 +Intel(R) Celeron(R) M processor 1.50GHz (null) 26.1876862 +PowerPC 740/750 (280.00MHz) (null) 172.816713 + +CPU CryptoHash +-------------- + +-CPU CryptoHash- +<big><b>This Machine</b></big> 2600 MHz 1697.719 + +CPU Fibonacci +------------- + +-CPU Fibonacci- +<big><b>This Machine</b></big> 2600 MHz 2.166 +Intel(R) Celeron(R) M processor 1.50GHz (null) 8.1375674 +PowerPC 740/750 (280.00MHz) (null) 58.07682 + +CPU N-Queens +------------ + +-CPU N-Queens- +<big><b>This Machine</b></big> 2600 MHz 0.592 + +FPU FFT +------- + +-FPU FFT- +<big><b>This Machine</b></big> 2600 MHz 1.072 + +FPU Raytracing +-------------- + +-FPU Raytracing- +<big><b>This Machine</b></big> 2600 MHz 6.178 +Intel(R) Celeron(R) M processor 1.50GHz (null) 40.8816714 +PowerPC 740/750 (280.00MHz) (null) 161.312647 diff --git a/hpvm/projects/onnx/src/alexnet.ipynb b/hpvm/projects/onnx/src/alexnet.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..24d5fadee55e551bf33f3d0b4d6e0c581f330cb5 --- /dev/null +++ b/hpvm/projects/onnx/src/alexnet.ipynb @@ -0,0 +1,198 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Using TensorFlow backend.\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "from keras.datasets import cifar10\n", + "from keras.models import Sequential\n", + "from keras.layers.core import Dense, Dropout, Flatten, Activation\n", + "from keras.layers.convolutional import Conv2D\n", + "from keras.optimizers import Adam\n", + "from keras.layers.pooling import MaxPooling2D\n", + "from keras.utils.np_utils import to_categorical\n", + "from keras.preprocessing.image import ImageDataGenerator\n", + "from keras import backend as K\n", + "from keras import regularizers\n", + "from keras.callbacks import LearningRateScheduler\n", + "import sys\n", + "import struct\n", + "import keras\n", + "import numpy as np\n", + "import os" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def buildModel2():\n", + "\n", + " activation_type = \"tanh\"\n", + " weight_decay = 1e-4\n", + " \n", + " model = Sequential()\n", + " model.add(Conv2D(64, kernel_size=(11, 11), activation=activation_type,\n", + " input_shape=(3, 32, 32), padding = 'same',\n", + " kernel_regularizer=regularizers.l2(weight_decay) ))\n", + " model.add(MaxPooling2D(pool_size=(2, 2), strides=(2,2) ))\n", + " model.add(Dropout(0.2))\n", + " model.add(Conv2D(192, kernel_size=(5, 5), activation=activation_type, padding = 'same',\n", + " kernel_regularizer=regularizers.l2(weight_decay)))\n", + " model.add(MaxPooling2D(pool_size=(2, 2), strides=(2,2) ))\n", + " model.add(Dropout(0.3))\n", + "\n", + " model.add(Conv2D(384, kernel_size=(3, 3), activation=activation_type, padding = 'same',\n", + " kernel_regularizer=regularizers.l2(weight_decay) )) \n", + " model.add(Conv2D(256, kernel_size=(3, 3), activation=activation_type, padding = 'same',\n", + " kernel_regularizer=regularizers.l2(weight_decay) ))\n", + " model.add(Conv2D(256, kernel_size=(3, 3), activation=activation_type, padding = 'same',\n", + " kernel_regularizer=regularizers.l2(weight_decay) ))\n", + " model.add(MaxPooling2D(pool_size=(2, 2), strides=(2,2) ))\n", + " model.add(Dropout(0.4))\n", + "\n", + " model.add(Flatten())\n", + " #model.add(Flatten())\n", + " #model.add(Dense(256))\n", + " model.add(Dense(10))\n", + " model.add(Activation('softmax'))\n", + " \n", + " return model" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "def trainModel(model):\n", + "\n", + " (X_train, Y_train), (X_test, Y_test) = cifar10.load_data()\n", + " test_labels = Y_test\n", + " train_labels = Y_train\n", + "\n", + " #X_train = X_train.astype('float32')\n", + " #X_test = X_test.astype('float32')\n", + " X_train = X_train / 255.0\n", + " X_test = X_test / 255.0\n", + " \n", + " mean = np.mean(X_train,axis=(0,1,2,3))\n", + " std = np.std(X_train,axis=(0,1,2,3)) \n", + " X_train = (X_train-mean)/(std+1e-7)\n", + " X_test = (X_test-mean)/(std+1e-7)\n", + " \n", + " dir_prefix = \"/home/hsharif3/Gitlab/hpvm/llvm/projects/hpvm-tensor-rt/model_params/alexnet_cifar10/\"\n", + "\n", + " #opt_rms = keras.optimizers.rmsprop(lr=0.001,decay=1e-6)\n", + " # Compile the model\n", + " model.compile(loss='categorical_crossentropy',\n", + " optimizer=Adam(lr=0.0001, decay=1e-6),\n", + " #optimizer = opt_rms,\n", + " metrics=['accuracy'])\n", + "\n", + " #print to_categorical(Y_train, 10)\n", + " print (to_categorical(Y_train))\n", + "\n", + "\n", + " datagen = ImageDataGenerator(\n", + " rotation_range=15,\n", + " width_shift_range=0.1,\n", + " height_shift_range=0.1,\n", + " horizontal_flip=True,\n", + " )\n", + " datagen.fit(X_train)\n", + "\n", + " \n", + " model.fit(X_train, to_categorical(Y_train, 10),\n", + " batch_size=128,\n", + " shuffle=True,\n", + " epochs = 1,\n", + " #epochs=100,\n", + " validation_data=(X_test, to_categorical(Y_test, 10)), callbacks=[LearningRateScheduler(lr_schedule)])\n", + "\n", + " # Evaluate the model\n", + " scores = model.evaluate(X_test, to_categorical(Y_test, 10))\n", + "\n", + " print('Loss: %.3f' % scores[0])\n", + " print('Accuracy: %.3f' % scores[1])\n", + " \n", + " print (\"*** TRAINED MODEL ****\\n\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "module 'tensorflow_core._api.v2.config' has no attribute 'experimental_list_devices'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m<ipython-input-6-913f2a0d099c>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mK\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_image_data_format\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'channels_first'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mmodel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbuildModel2\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mtrainModel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m<ipython-input-4-9d348f64e01f>\u001b[0m in \u001b[0;36mbuildModel2\u001b[0;34m()\u001b[0m\n\u001b[1;32m 7\u001b[0m model.add(Conv2D(64, kernel_size=(11, 11), activation=activation_type,\n\u001b[1;32m 8\u001b[0m \u001b[0minput_shape\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m32\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m32\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpadding\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'same'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 9\u001b[0;31m kernel_regularizer=regularizers.l2(weight_decay) ))\n\u001b[0m\u001b[1;32m 10\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mMaxPooling2D\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpool_size\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstrides\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mDropout\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0.2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/opt/anaconda3/lib/python3.7/site-packages/keras/engine/sequential.py\u001b[0m in \u001b[0;36madd\u001b[0;34m(self, layer)\u001b[0m\n\u001b[1;32m 164\u001b[0m \u001b[0;31m# and create the node connecting the current layer\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 165\u001b[0m \u001b[0;31m# to the input layer we just created.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 166\u001b[0;31m \u001b[0mlayer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 167\u001b[0m \u001b[0mset_inputs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 168\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/opt/anaconda3/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py\u001b[0m in \u001b[0;36msymbolic_fn_wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 73\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0m_SYMBOLIC_SCOPE\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalue\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 74\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mget_graph\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mas_default\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 75\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 76\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 77\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/opt/anaconda3/lib/python3.7/site-packages/keras/engine/base_layer.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, inputs, **kwargs)\u001b[0m\n\u001b[1;32m 487\u001b[0m \u001b[0;31m# Actually call the layer,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 488\u001b[0m \u001b[0;31m# collecting output(s), mask(s), and shape(s).\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 489\u001b[0;31m \u001b[0moutput\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcall\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 490\u001b[0m \u001b[0moutput_mask\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompute_mask\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mprevious_mask\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 491\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/opt/anaconda3/lib/python3.7/site-packages/keras/layers/convolutional.py\u001b[0m in \u001b[0;36mcall\u001b[0;34m(self, inputs)\u001b[0m\n\u001b[1;32m 169\u001b[0m \u001b[0mpadding\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpadding\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 170\u001b[0m \u001b[0mdata_format\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata_format\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 171\u001b[0;31m dilation_rate=self.dilation_rate)\n\u001b[0m\u001b[1;32m 172\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrank\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 173\u001b[0m outputs = K.conv3d(\n", + "\u001b[0;32m~/opt/anaconda3/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py\u001b[0m in \u001b[0;36mconv2d\u001b[0;34m(x, kernel, strides, padding, data_format, dilation_rate)\u001b[0m\n\u001b[1;32m 3699\u001b[0m \u001b[0mdata_format\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnormalize_data_format\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata_format\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3700\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3701\u001b[0;31m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtf_data_format\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_preprocess_conv2d_input\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata_format\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3702\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3703\u001b[0m \u001b[0mpadding\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_preprocess_padding\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpadding\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/opt/anaconda3/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py\u001b[0m in \u001b[0;36m_preprocess_conv2d_input\u001b[0;34m(x, data_format, force_transpose)\u001b[0m\n\u001b[1;32m 3572\u001b[0m \u001b[0mtf_data_format\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'NHWC'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3573\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdata_format\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'channels_first'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3574\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0m_has_nchw_support\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mforce_transpose\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3575\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtranspose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# NCHW -> NHWC\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3576\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/opt/anaconda3/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py\u001b[0m in \u001b[0;36m_has_nchw_support\u001b[0;34m()\u001b[0m\n\u001b[1;32m 520\u001b[0m \"\"\"\n\u001b[1;32m 521\u001b[0m \u001b[0mexplicitly_on_cpu\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_is_current_explicit_device\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'cpu'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 522\u001b[0;31m \u001b[0mgpus_available\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_get_available_gpus\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 523\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;32mnot\u001b[0m \u001b[0mexplicitly_on_cpu\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mgpus_available\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 524\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/opt/anaconda3/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py\u001b[0m in \u001b[0;36m_get_available_gpus\u001b[0;34m()\u001b[0m\n\u001b[1;32m 504\u001b[0m \u001b[0m_LOCAL_DEVICES\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mdevices\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 505\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 506\u001b[0;31m \u001b[0m_LOCAL_DEVICES\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconfig\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexperimental_list_devices\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 507\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mx\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0m_LOCAL_DEVICES\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;34m'device:gpu'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlower\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 508\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mAttributeError\u001b[0m: module 'tensorflow_core._api.v2.config' has no attribute 'experimental_list_devices'" + ] + } + ], + "source": [ + " K.set_image_data_format('channels_first')\n", + "\n", + " model = buildModel2()\n", + " trainModel(model)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/hpvm/projects/onnx/src/alexnet.py b/hpvm/projects/onnx/src/keras_models/alexnet.py similarity index 100% rename from hpvm/projects/onnx/src/alexnet.py rename to hpvm/projects/onnx/src/keras_models/alexnet.py diff --git a/hpvm/projects/onnx/src/alexnet2.py b/hpvm/projects/onnx/src/keras_models/alexnet2.py similarity index 100% rename from hpvm/projects/onnx/src/alexnet2.py rename to hpvm/projects/onnx/src/keras_models/alexnet2.py diff --git a/hpvm/projects/onnx/src/lenet.py b/hpvm/projects/onnx/src/keras_models/lenet.py similarity index 100% rename from hpvm/projects/onnx/src/lenet.py rename to hpvm/projects/onnx/src/keras_models/lenet.py diff --git a/hpvm/projects/onnx/src/mnist.ipynb b/hpvm/projects/onnx/src/keras_models/mnist.ipynb similarity index 100% rename from hpvm/projects/onnx/src/mnist.ipynb rename to hpvm/projects/onnx/src/keras_models/mnist.ipynb diff --git a/hpvm/projects/onnx/src/mobilenet_cifar10.py b/hpvm/projects/onnx/src/keras_models/mobilenet_cifar10.py similarity index 100% rename from hpvm/projects/onnx/src/mobilenet_cifar10.py rename to hpvm/projects/onnx/src/keras_models/mobilenet_cifar10.py diff --git a/hpvm/projects/onnx/src/mobilenet_shallow.py b/hpvm/projects/onnx/src/keras_models/mobilenet_shallow.py similarity index 100% rename from hpvm/projects/onnx/src/mobilenet_shallow.py rename to hpvm/projects/onnx/src/keras_models/mobilenet_shallow.py diff --git a/hpvm/projects/onnx/src/mobilenetv2_cifar10.py b/hpvm/projects/onnx/src/keras_models/mobilenetv2_cifar10.py similarity index 100% rename from hpvm/projects/onnx/src/mobilenetv2_cifar10.py rename to hpvm/projects/onnx/src/keras_models/mobilenetv2_cifar10.py diff --git a/hpvm/projects/onnx/src/resnet.py b/hpvm/projects/onnx/src/keras_models/resnet.py similarity index 100% rename from hpvm/projects/onnx/src/resnet.py rename to hpvm/projects/onnx/src/keras_models/resnet.py diff --git a/hpvm/projects/onnx/src/vgg16_cifar10.py b/hpvm/projects/onnx/src/keras_models/vgg16_cifar10.py similarity index 100% rename from hpvm/projects/onnx/src/vgg16_cifar10.py rename to hpvm/projects/onnx/src/keras_models/vgg16_cifar10.py diff --git a/hpvm/projects/onnx/src/vgg16_cifar100.py b/hpvm/projects/onnx/src/keras_models/vgg16_cifar100.py similarity index 100% rename from hpvm/projects/onnx/src/vgg16_cifar100.py rename to hpvm/projects/onnx/src/keras_models/vgg16_cifar100.py diff --git a/hpvm/projects/onnx/src/onnx_test.py b/hpvm/projects/onnx/src/onnx_test.py new file mode 100644 index 0000000000000000000000000000000000000000..39b62ed19829cc474532e9241a5cfa220d9f5219 --- /dev/null +++ b/hpvm/projects/onnx/src/onnx_test.py @@ -0,0 +1,8 @@ +import os +import sys +import numpy as np +import onnx +import glob + +from onnx import numpy_helper, version_converter +from onnxruntime.backend.backend import OnnxRuntimeBackend as backend