{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,18]],"date-time":"2026-07-18T19:46:27Z","timestamp":1784403987544,"version":"3.55.0"},"publisher-location":"New York, NY, USA","reference-count":109,"publisher":"ACM","license":[{"start":{"date-parts":[[2022,2,22]],"date-time":"2022-02-22T00:00:00Z","timestamp":1645488000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"NSF (National Science Foundation)","doi-asserted-by":"publisher","award":["#1846102, #1919197, #2106893."],"award-info":[{"award-number":["#1846102, #1919197, #2106893."]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2022,2,28]]},"DOI":"10.1145\/3503222.3507754","type":"proceedings-article","created":{"date-parts":[[2022,2,22]],"date-time":"2022-02-22T20:49:01Z","timestamp":1645562941000},"page":"157-170","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":9,"title":["GPUReplay: a 50-KB GPU stack for client ML"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-8142-7505","authenticated-orcid":false,"given":"Heejin","family":"Park","sequence":"first","affiliation":[{"name":"Purdue University, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Felix Xiaozhu","family":"Lin","sequence":"additional","affiliation":[{"name":"University of Virginia, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2022,2,22]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"[n.d.]. In-kernel memory mapped I\/O tracing. https:\/\/www.kernel.org\/doc\/html\/latest\/trace\/mmiotrace.html"},{"key":"e_1_3_2_1_2_1","unstructured":"2014. CVE-2014-0972: Unprivileged GPU command streams can change the IOMMU page table. https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2014-0972"},{"key":"e_1_3_2_1_3_1","unstructured":"2014. CVE-2014-1376: Improper Restriction to Unspecified OpenCL API calls. https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2014-1376"},{"key":"e_1_3_2_1_4_1","unstructured":"2017. CVE-2017-18643: Information disclosure on Samsung gpu. https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2017-18643"},{"key":"e_1_3_2_1_5_1","unstructured":"2018. CVE-2018-6253: Vulnerability in the OpenGl Usermode Drivers. https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2018-6253"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"crossref","unstructured":"2019. CVE-2019-10520: out of memory in snapdragon. https:\/\/nvd.nist.gov\/vuln\/detail\/cve-2019-10520","DOI":"10.5465\/AMBPP.2019.10520abstract"},{"key":"e_1_3_2_1_7_1","unstructured":"2019. CVE-2019-14615: Information Leakage Vulnerability on the Intel Integrated GPU Architecture. https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2019-14615"},{"key":"e_1_3_2_1_8_1","unstructured":"2019. CVE-2019-20577: SMMU page fault in MALI GPU Driver. https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2019-20577"},{"key":"e_1_3_2_1_9_1","unstructured":"2019. CVE-2019-5068: Exploitable Shared Memory Permission Vulnerability in Mesa 3D Graphics Library. https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2019-5068"},{"key":"e_1_3_2_1_10_1","unstructured":"2020. CVE-2020-11179: Qualcomm Adreno GPU Ringbuffer Corruption \/ Protected Mode Bypass. https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2020-11179"},{"key":"e_1_3_2_1_11_1","volume-title":"TensorFlow: A System for Large-Scale Machine Learning. In 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 16)","author":"Abadi Mart\u00edn","year":"2016","unstructured":"Mart\u00edn Abadi, Paul Barham, Jianmin Chen, Zhifeng Chen, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Geoffrey Irving, Michael Isard, Manjunath Kudlur, Josh Levenberg, Rajat Monga, Sherry Moore, Derek G. Murray, Benoit Steiner, Paul Tucker, Vijay Vasudevan, Pete Warden, Martin Wicke, Yuan Yu, and Xiaoqiang Zheng. 2016. TensorFlow: A System for Large-Scale Machine Learning. In 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 16). USENIX Association, Savannah, GA. 265\u2013283. isbn:978-1-931971-33-1 https:\/\/www.usenix.org\/conference\/osdi16\/technical-sessions\/presentation\/abadi"},{"key":"e_1_3_2_1_12_1","unstructured":"alyssa rosenzweig. [n.d.]. Dissecting the apple m1 gpu. https:\/\/rosenzweig.io\/blog\/asahi-gpu-part-1.html"},{"key":"e_1_3_2_1_13_1","unstructured":"Alyssa Rosenzweig. [n.d.]. Dissecting the Apple M1 GPU part II. https:\/\/rosenzweig.io\/blog\/asahi-gpu-part-2.html"},{"key":"e_1_3_2_1_14_1","unstructured":"Android kernel. [n.d.]. Arm Bifrost Graphics Driver: Config_Mali_System_Trace. https:\/\/android.googlesource.com\/kernel\/arm64\/+\/refs\/tags\/android-11.0.0_r0.67\/drivers\/gpu\/arm\/midgard\/mali_kbase.h#364"},{"key":"e_1_3_2_1_15_1","unstructured":"Android kernel. [n.d.]. Arm Bifrost Graphics Driver: kbase_cache_clean_worker(). https:\/\/android.googlesource.com\/kernel\/arm64\/+\/refs\/tags\/android-11.0.0_r0.67\/drivers\/gpu\/arm\/midgard\/backend\/gpu\/mali_kbase_instr_backend.c#349"},{"key":"e_1_3_2_1_16_1","unstructured":"Android kernel. [n.d.]. Arm Bifrost Graphics Driver: kbase_job_hw_submit(). https:\/\/android.googlesource.com\/kernel\/arm64\/+\/refs\/tags\/android-11.0.0_r0.67\/drivers\/gpu\/arm\/midgard\/backend\/gpu\/mali_kbase_jm_hw.c#56"},{"key":"e_1_3_2_1_17_1","unstructured":"Android kernel. [n.d.]. Arm Bifrost Graphics Driver: kbase_job_irq_handler(). https:\/\/android.googlesource.com\/kernel\/arm64\/+\/refs\/tags\/android-11.0.0_r0.67\/drivers\/gpu\/arm\/midgard\/backend\/gpu\/mali_kbase_irq_linux.c#45"},{"key":"e_1_3_2_1_18_1","unstructured":"Android kernel. [n.d.]. Arm Bifrost Graphics Driver: kbase_mmu_insert_pages(). https:\/\/android.googlesource.com\/kernel\/arm64\/+\/refs\/tags\/android-11.0.0_r0.67\/drivers\/gpu\/arm\/midgard\/mali_kbase_mmu.c#606"},{"key":"e_1_3_2_1_19_1","unstructured":"Android kernel. [n.d.]. Arm Bifrost Graphics Driver: kbase_pm_init_hw(). https:\/\/android.googlesource.com\/kernel\/arm64\/+\/refs\/tags\/android-11.0.0_r0.67\/drivers\/gpu\/arm\/midgard\/backend\/gpu\/mali_kbase_pm_driver.c#1162"},{"key":"e_1_3_2_1_20_1","unstructured":"Android kernel. [n.d.]. Arm Bifrost Graphics Driver: kbase_pm_set_policy(). https:\/\/android.googlesource.com\/kernel\/arm64\/+\/refs\/tags\/android-11.0.0_r0.67\/drivers\/gpu\/arm\/midgard\/backend\/gpu\/mali_kbase_pm_policy.c#557"},{"key":"e_1_3_2_1_21_1","unstructured":"Android kernel. [n.d.]. Arm Bifrost Graphics Driver: SLOT_RB_SIZE. https:\/\/android.googlesource.com\/kernel\/arm64\/+\/refs\/tags\/android-11.0.0_r0.67\/drivers\/gpu\/arm\/midgard\/backend\/gpu\/mali_kbase_jm_defs.h#27"},{"key":"e_1_3_2_1_22_1","unstructured":"Arm. [n.d.]. Arm Compute Library. https:\/\/github.com\/ARM-software\/ComputeLibrary"},{"key":"e_1_3_2_1_23_1","unstructured":"Arm. [n.d.]. ArmNN. https:\/\/github.com\/ARM-software\/armnn"},{"key":"e_1_3_2_1_24_1","unstructured":"Arm. [n.d.]. Mali for all occasions: New GPUs for all graphics workloads use cases and consumer devices. https:\/\/community.arm.com\/developer\/tools-software\/graphics\/b\/blog\/posts\/new-suite-of-arm-mali-gpus\/"},{"key":"e_1_3_2_1_25_1","unstructured":"Arm. [n.d.]. Open Source Mali Bifrost GPU Kernel Drivers. https:\/\/developer.arm.com\/tools-and-software\/graphics-and-gaming\/mali-drivers\/bifrost-kernel"},{"key":"e_1_3_2_1_26_1","unstructured":"Arm. [n.d.]. Vulkan SDK for Android. https:\/\/github.com\/ARM-software\/vulkan-sdk"},{"key":"e_1_3_2_1_27_1","unstructured":"ARM-software. [n.d.]. Software for capturing GLES calls of an application and replaying them on a different device. https:\/\/github.com\/ARM-software\/patrace"},{"key":"e_1_3_2_1_28_1","unstructured":"Brendon Boshell. [n.d.]. Average App File Size: Data for Android and iOS Mobile Apps. https:\/\/sweetpricing.com\/blog\/2017\/02\/average-app-file-size\/"},{"key":"e_1_3_2_1_29_1","volume-title":"Detecting Covert Timing Channels with Time-Deterministic Replay. In 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14)","author":"Chen Ang","year":"2014","unstructured":"Ang Chen, W. Brad Moore, Hanjun Xiao, Andreas Haeberlen, Linh Thi Xuan Phan, Micah Sherr, and Wenchao Zhou. 2014. Detecting Covert Timing Channels with Time-Deterministic Replay. In 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14). USENIX Association, Broomfield, CO. 541\u2013554. isbn:978-1-931971-16-4 https:\/\/www.usenix.org\/conference\/osdi14\/technical-sessions\/presentation\/chen_ang"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1455770.1455820"},{"key":"e_1_3_2_1_31_1","unstructured":"Cybersecurity and Infrastructure Security Agency NIST. [n.d.]. Defending Against Software Supply Chain Atatcks. https:\/\/www.cisa.gov\/publication\/software-supply-chain-attacks\/"},{"key":"e_1_3_2_1_32_1","unstructured":"Arm Developer. [n.d.]. Mali Offline Compiler. https:\/\/developer.arm.com\/tools-and-software\/graphics-and-gaming\/arm-mobile-studio\/components\/mali-offline-compiler"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1618525.1618534"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/HiPC.2011.6152718"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/844128.844148"},{"key":"e_1_3_2_1_36_1","unstructured":"Linux Foundation. [n.d.]. Data Plane Development Kit (DPDK). http:\/\/www.dpdk.org"},{"key":"e_1_3_2_1_37_1","unstructured":"Linux Foundation. [n.d.]. The User Space IO (UIO). https:\/\/www.kernel.org\/doc\/html\/v4.12\/driver-api\/uio-howto.html"},{"key":"e_1_3_2_1_38_1","volume-title":"2013 35th International Conference on Software Engineering (ICSE). 72\u201381","author":"Gomez L.","unstructured":"L. Gomez, I. Neamtiu, T. Azim, and T. Millstein. 2013. RERAN: Timing- and touch-sensitive record and replay for Android. In 2013 35th International Conference on Software Engineering (ICSE). 72\u201381."},{"key":"e_1_3_2_1_39_1","unstructured":"Google. [n.d.]. Tensorflow GPU support. https:\/\/www.tensorflow.org\/install\/gpu"},{"key":"e_1_3_2_1_40_1","unstructured":"Grate. [n.d.]. Open Source reverse-engineering tools aiming at NVIDIA Tegra2+3D engine. https:\/\/github.com\/grate-driver\/grate"},{"key":"e_1_3_2_1_41_1","volume-title":"Securing Input Data of Deep Learning Inference Systems via Partitioned Enclave Execution. CoRR, abs\/1807.00969","author":"Gu Zhongshu","year":"2018","unstructured":"Zhongshu Gu, Heqing Huang, Jialong Zhang, Dong Su, Ankita Lamba, Dimitrios Pendarakis, and Ian Molloy. 2018. Securing Input Data of Deep Learning Inference Systems via Partitioned Enclave Execution. CoRR, abs\/1807.00969 (2018), arxiv:1807.00969. arxiv:1807.00969"},{"key":"e_1_3_2_1_42_1","volume-title":"Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201908)","author":"Guo Zhenyu","year":"2008","unstructured":"Zhenyu Guo, Xi Wang, Jian Tang, Xuezheng Liu, Zhilei Xu, Ming Wu, M. Frans Kaashoek, and Zheng Zhang. 2008. R2: An Application-Level Kernel for Record and Replay. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201908). USENIX Association, USA. 193\u2013208."},{"key":"e_1_3_2_1_43_1","volume-title":"Telekine: Secure Computing with Cloud GPUs. In 17th USENIX Symposium on Networked Systems Design and Implementation (NSDI 20)","author":"Hunt Tyler","year":"2020","unstructured":"Tyler Hunt, Zhipeng Jia, Vance Miller, Ariel Szekely, Yige Hu, Christopher J. Rossbach, and Emmett Witchel. 2020. Telekine: Secure Computing with Cloud GPUs. In 17th USENIX Symposium on Networked Systems Design and Implementation (NSDI 20). USENIX Association, Santa Clara, CA. 817\u2013833. isbn:978-1-939133-13-7 https:\/\/www.usenix.org\/conference\/nsdi20\/presentation\/hunt"},{"key":"e_1_3_2_1_44_1","unstructured":"id-Software. [n.d.]. DOOM-3-BFG: LoadGLSLShader(). https:\/\/github.com\/id-Software\/DOOM-3-BFG\/blob\/master\/neo\/renderer\/RenderProgs_GLSL.cpp#L960"},{"key":"e_1_3_2_1_45_1","volume-title":"Convolutional Networks and the Models in-Between. CoRR, abs\/1603.01250","author":"Ioannou Yani","year":"2016","unstructured":"Yani Ioannou, Duncan P. Robertson, Darko Zikic, Peter Kontschieder, Jamie Shotton, Matthew Brown, and Antonio Criminisi. 2016. Decision Forests, Convolutional Networks and the Models in-Between. CoRR, abs\/1603.01250 (2016), arxiv:1603.01250. arxiv:1603.01250"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/3297858.3304021"},{"key":"e_1_3_2_1_47_1","unstructured":"Jean-loup Gailly and Mark Adler. [n.d.]. A Massively Spiffy Yet Delicately Unobtrusive Compression Library. https:\/\/zlib.net\/"},{"key":"e_1_3_2_1_48_1","volume-title":"Enabling Refinable Cross-Host Attack Investigation with Efficient Data Flow Tagging and Tracking. In 27th USENIX Security Symposium (USENIX Security 18)","author":"Ji Yang","year":"2018","unstructured":"Yang Ji, Sangho Lee, Mattia Fazzini, Joey Allen, Evan Downing, Taesoo Kim, Alessandro Orso, and Wenke Lee. 2018. Enabling Refinable Cross-Host Attack Investigation with Efficient Data Flow Tagging and Tracking. In 27th USENIX Security Symposium (USENIX Security 18). USENIX Association, Baltimore, MD. 1705\u20131722. isbn:978-1-939133-04-5 https:\/\/www.usenix.org\/conference\/usenixsecurity18\/presentation\/jia-yang"},{"key":"e_1_3_2_1_49_1","unstructured":"Khronos Group. [n.d.]. Khronos Conformant Products. https:\/\/www.khronos.org\/conformance\/adopters\/conformant-products"},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/3446382.3448606"},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/3302424.3303950"},{"key":"e_1_3_2_1_52_1","volume-title":"Nimble: Lightweight and Parallel GPU Task Scheduling for Deep Learning. In Advances in Neural Information Processing Systems","author":"Kwon Woosuk","year":"2020","unstructured":"Woosuk Kwon, Gyeong-In Yu, Eunji Jeong, and Byung-Gon Chun. 2020. Nimble: Lightweight and Parallel GPU Task Scheduling for Deep Learning. In Advances in Neural Information Processing Systems, H. Larochelle, M. Ranzato, R. Hadsell, M. F. Balcan, and H. Lin (Eds.). 33, Curran Associates, Inc., 8343\u20138354. https:\/\/proceedings.neurips.cc\/paper\/2020\/file\/5f0ad4db43d8723d18169b2e4817a160-Paper.pdf"},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2014.9"},{"key":"e_1_3_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/3300061.3345447"},{"key":"e_1_3_2_1_55_1","unstructured":"The Mesa 3D Graphics Library. [n.d.]. Mesa for Panfrost. https:\/\/docs.mesa3d.org\/drivers\/panfrost.html"},{"key":"e_1_3_2_1_56_1","unstructured":"Linux. [n.d.]. drm\/v3d Broadcom V3D Graphics Driver. https:\/\/www.kernel.org\/doc\/html\/latest\/gpu\/v3d.html"},{"key":"e_1_3_2_1_57_1","unstructured":"Linux. [n.d.]. drm\/v3d Broadcom V3D Graphics Driver: register accessors. https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/v3d\/v3d_drv.h#L170"},{"key":"e_1_3_2_1_58_1","unstructured":"Linux. [n.d.]. drm\/v3d Broadcom V3D Graphics Driver: v3d_clean_caches(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/v3d\/v3d_gem.c#L189"},{"key":"e_1_3_2_1_59_1","unstructured":"Linux. [n.d.]. drm\/v3d Broadcom V3D Graphics Driver: v3d_csd_job_run(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/v3d\/v3d_sched.c#L245"},{"key":"e_1_3_2_1_60_1","volume-title":"drm\/v3d Broadcom V3D Graphics Driver: v3d_irq(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/v3d\/v3d_irq.c#L85","unstructured":"Linux. [n.d.]. drm\/v3d Broadcom V3D Graphics Driver: v3d_irq(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/v3d\/v3d_irq.c#L85"},{"key":"e_1_3_2_1_61_1","volume-title":"drm\/v3d Broadcom V3D Graphics Driver: v3d_mmu_insert_ptes(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/v3d\/v3d_mmu.c#L87","unstructured":"Linux. [n.d.]. drm\/v3d Broadcom V3D Graphics Driver: v3d_mmu_insert_ptes(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/v3d\/v3d_mmu.c#L87"},{"key":"e_1_3_2_1_62_1","unstructured":"Linux. [n.d.]. drm\/v3d Broadcom V3D Graphics Driver: v3d_reset(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/v3d\/v3d_gem.c#L110"},{"key":"e_1_3_2_1_63_1","unstructured":"Linux. [n.d.]. drm\/v3d Broadcom V3D Graphics Driver: wait_for(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/v3d\/v3d_drv.h#L290"},{"key":"e_1_3_2_1_64_1","unstructured":"Linux. [n.d.]. drm\/vc4 Broadcom VC4 Graphics Driver. https:\/\/www.kernel.org\/doc\/html\/latest\/gpu\/vc4.html"},{"key":"e_1_3_2_1_65_1","unstructured":"Linux. [n.d.]. drm\/vc4 Broadcom VC4 Graphics Driver: submit_cl(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/vc4\/vc4_gem.c#L369"},{"key":"e_1_3_2_1_66_1","unstructured":"Linux. [n.d.]. drm\/vc4 Broadcom VC4 Graphics Driver: vc4_irq(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/vc4\/vc4_irq.c#L196"},{"key":"e_1_3_2_1_67_1","unstructured":"Linux. [n.d.]. drm\/vc4 Broadcom VC4 Graphics Driver: vc4_reset(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/vc4\/vc4_gem.c#L286"},{"key":"e_1_3_2_1_68_1","unstructured":"Linux. [n.d.]. Qualcomm adreno graphics driver. https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/msm\/adreno"},{"key":"e_1_3_2_1_69_1","volume-title":"Qualcomm adreno graphics driver: a6xx_flush(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/msm\/adreno\/a6xx_gpu.c#L54","unstructured":"Linux. [n.d.]. Qualcomm adreno graphics driver: a6xx_flush(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/msm\/adreno\/a6xx_gpu.c#L54"},{"key":"e_1_3_2_1_70_1","unstructured":"Linux. [n.d.]. Qualcomm Adreno Graphics Driver: a6xx_irq(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/msm\/adreno\/a6xx_gpu.c#L1046"},{"key":"e_1_3_2_1_71_1","unstructured":"Linux. [n.d.]. Qualcomm Adreno Graphics Driver: a6xx_recover(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/msm\/adreno\/a6xx_gpu.c#L934"},{"key":"e_1_3_2_1_72_1","unstructured":"Linux. [n.d.]. Qualcomm Adreno Graphics Driver: a6xx_submit(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/msm\/adreno\/a6xx_gpu.c#L140"},{"key":"e_1_3_2_1_73_1","volume-title":"Qualcomm Adreno Graphics Driver: msm_gpummu_map(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/msm\/msm_gpummu.c#L28","unstructured":"Linux. [n.d.]. Qualcomm Adreno Graphics Driver: msm_gpummu_map(). https:\/\/elixir.bootlin.com\/linux\/latest\/source\/drivers\/gpu\/drm\/msm\/msm_gpummu.c#L28"},{"key":"e_1_3_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1145\/3386901.3388946"},{"key":"e_1_3_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1145\/2740070.2631455"},{"key":"e_1_3_2_1_76_1","unstructured":"NVIDIA. [n.d.]. CUDA Compatibility. https:\/\/docs.nvidia.com\/deploy\/cuda-compatibility\/index.html"},{"key":"e_1_3_2_1_77_1","unstructured":"NVIDIA. [n.d.]. Host1x Hardware Description. http:\/\/http.download.nvidia.com\/tegra-public-appnotes\/host1x.html"},{"key":"e_1_3_2_1_78_1","unstructured":"NVIDIA. [n.d.]. NVIDIA Tegra Linux Driver. https:\/\/nv-tegra.nvidia.com\/gitweb\/?p=linux-nvgpu.git;a=summary"},{"key":"e_1_3_2_1_79_1","unstructured":"NVIDIA. [n.d.]. NVIDIA Tegra Linux Driver: __gk20a_do_unidle(). https:\/\/nv-tegra.nvidia.com\/gitweb\/?p=linux-nvgpu.git;a=blob;f=drivers\/gpu\/nvgpu\/os\/linux\/module.c;h=807df2cadfbc6d1d76008021e5dfabdea232c72b;hb=7bf2833f340f87ea643d3ef66b0e4c22ffb1e891#l630"},{"key":"e_1_3_2_1_80_1","unstructured":"NVIDIA. [n.d.]. NVIDIA Tegra Linux Driver: gk20a_mm_l2_flush(). https:\/\/nv-tegra.nvidia.com\/gitweb\/?p=linux-nvgpu.git;a=blob;f=drivers\/gpu\/nvgpu\/gk20a\/mm_gk20a.c;h=10ca84d9dfe23b4adfb607dc50041abbc2216217;hb=7bf2833f340f87ea643d3ef66b0e4c22ffb1e891#l541"},{"key":"e_1_3_2_1_81_1","unstructured":"NVIDIA. [n.d.]. NVIDIA Tegra Linux Driver: gk20a_wait_for_idle(). https:\/\/nv-tegra.nvidia.com\/gitweb\/?p=linux-nvgpu.git;a=blob;f=drivers\/gpu\/nvgpu\/gk20a\/gk20a.c;h=c3068b76ccb08695621292b5d7f354d9c4785732;hb=7bf2833f340f87ea643d3ef66b0e4c22ffb1e891#l441"},{"key":"e_1_3_2_1_82_1","unstructured":"NVIDIA. [n.d.]. NVIDIA Tegra Linux Driver: gm20b_tegra_unrailgate(). https:\/\/nv-tegra.nvidia.com\/gitweb\/?p=linux-nvgpu.git;a=blob;f=drivers\/gpu\/nvgpu\/os\/linux\/platform_gk20a_tegra.c;h=c39e4f0e6cdbfe37f880a05cbe17af0fa9af604c;hb=7bf2833f340f87ea643d3ef66b0e4c22ffb1e891#l368"},{"key":"e_1_3_2_1_83_1","unstructured":"NVIDIA. [n.d.]. NVIDIA Tegra Linux Driver: __nvgpu_gmmu_update_page_table(). https:\/\/nv-tegra.nvidia.com\/gitweb\/?p=linux-nvgpu.git;a=blob;f=drivers\/gpu\/nvgpu\/common\/mm\/gmmu.c;h=748e9f455ca33d2c9388dc789d9696616f4dfbe5;hb=7bf2833f340f87ea643d3ef66b0e4c22ffb1e891#l591"},{"key":"e_1_3_2_1_84_1","unstructured":"NVIDIA. [n.d.]. NVIDIA Tegra Linux Driver: nvgpu_submit_channel_gpfifo(). https:\/\/nv-tegra.nvidia.com\/gitweb\/?p=linux-nvgpu.git;a=blob;f=drivers\/gpu\/nvgpu\/common\/fifo\/submit.c;h=b0f38ff1cfa48ba36111e6734aa2017415aba575;hb=7bf2833f340f87ea643d3ef66b0e4c22ffb1e891#l318"},{"key":"e_1_3_2_1_85_1","unstructured":"NVIDIA. [n.d.]. NVIDIA Tegra Linux Driver: nvgpu_submit_prepare_syncs(). https:\/\/nv-tegra.nvidia.com\/gitweb\/?p=linux-nvgpu.git;a=blob;f=drivers\/gpu\/nvgpu\/common\/fifo\/submit.c;h=b0f38ff1cfa48ba36111e6734aa2017415aba575;hb=7bf2833f340f87ea643d3ef66b0e4c22ffb1e891#l40"},{"key":"e_1_3_2_1_86_1","unstructured":"NVIDIA. [n.d.]. NVIDIA Tegra Linux Driver: syncpt_thresh_cascade_isr(). https:\/\/nv-tegra.nvidia.com\/gitweb\/?p=linux-nvidia.git;a=blob;f=drivers\/video\/tegra\/host\/host1x\/host1x_intr.c;h=c0fd8611273c65619116c704dcd462903b80036c;hb=6dc57fec39c444e4c4448be61ddd19c55693daf1#l39"},{"key":"e_1_3_2_1_87_1","unstructured":"NVIDIA. 2021. NVIDIA MULTI-INSTANCE GPU. https:\/\/www.nvidia.com\/en-us\/technologies\/multi-instance-gpu\/"},{"key":"e_1_3_2_1_88_1","volume-title":"2019 USENIX Annual Technical Conference (USENIX ATC 19)","author":"Park Heejin","year":"2019","unstructured":"Heejin Park, Shuang Zhai, Long Lu, and Felix Xiaozhu Lin. 2019. StreamBox-TZ: Secure Stream Analytics at the Edge with TrustZone. In 2019 USENIX Annual Technical Conference (USENIX ATC 19). USENIX Association, Renton, WA. 537\u2013554. isbn:978-1-939133-03-8 https:\/\/www.usenix.org\/conference\/atc19\/presentation\/park-heejin"},{"key":"e_1_3_2_1_89_1","unstructured":"Hugh Perkins. [n.d.]. OpenCL library to train deep convolutional networks. https:\/\/github.com\/hughperkins\/DeepCL"},{"key":"e_1_3_2_1_90_1","doi-asserted-by":"publisher","DOI":"10.1145\/2801153"},{"key":"e_1_3_2_1_91_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884854"},{"key":"e_1_3_2_1_92_1","unstructured":"Quake3 World. [n.d.]. Quak3: Demo System. https:\/\/www.quake3world.com\/q3guide\/demos.html"},{"key":"e_1_3_2_1_93_1","unstructured":"Raspberry Pi Foundation. [n.d.]. RaspberryPi Firmware Mailbox property interface. https:\/\/github.com\/raspberrypi\/firmware\/wiki\/Mailbox-property-interface"},{"key":"e_1_3_2_1_94_1","unstructured":"rsta2. [n.d.]. A C++ bare metal environment for Raspberry Pi with USB (32 and 64 bit). https:\/\/github.com\/rsta2\/circle\/"},{"key":"e_1_3_2_1_95_1","volume-title":"Proc. USENIX ATC. USENIX Association","author":"Suzuki Yusuke","year":"2014","unstructured":"Yusuke Suzuki, Shinpei Kato, Hiroshi Yamada, and Kenji Kono. 2014. GPUvm: Why Not Virtualizing GPUs at the Hypervisor? In Proc. USENIX ATC. USENIX Association, Philadelphia, PA. 109\u2013120. isbn:978-1-931971-10-2 https:\/\/www.usenix.org\/conference\/atc14\/technical-sessions\/presentation\/suzuki"},{"key":"e_1_3_2_1_96_1","unstructured":"Tencent. [n.d.]. ncnn Pipeline Cache. https:\/\/github.com\/Tencent\/ncnn\/blob\/master\/src\/pipelinecache.cpp\/"},{"key":"e_1_3_2_1_97_1","unstructured":"Tencent. [n.d.]. Tencent ncnn framework. https:\/\/github.com\/Tencent\/ncnn"},{"key":"e_1_3_2_1_98_1","unstructured":"TensorFlow. [n.d.]. Example NNs by TensorFlow. https:\/\/www.tensorflow.org\/lite\/guide\/hosted_models"},{"key":"e_1_3_2_1_99_1","volume-title":"Verifiable and Private Execution of Neural Networks in Trusted Hardware. In International Conference on Learning Representations. https:\/\/openreview.net\/forum?id=rJVorjCcKQ","author":"Tramer Florian","year":"2019","unstructured":"Florian Tramer and Dan Boneh. 2019. Slalom: Fast, Verifiable and Private Execution of Neural Networks in Trusted Hardware. In International Conference on Learning Representations. https:\/\/openreview.net\/forum?id=rJVorjCcKQ"},{"key":"e_1_3_2_1_100_1","volume-title":"Graviton: Trusted Execution Environments on GPUs. In 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18)","author":"Volos Stavros","year":"2018","unstructured":"Stavros Volos, Kapil Vaswani, and Rodrigo Bruno. 2018. Graviton: Trusted Execution Environments on GPUs. In 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18). USENIX Association, Carlsbad, CA. 681\u2013696. isbn:978-1-939133-08-3 https:\/\/www.usenix.org\/conference\/osdi18\/presentation\/volos"},{"key":"e_1_3_2_1_101_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2019.00048"},{"key":"e_1_3_2_1_102_1","volume-title":"Proceedings of the 2011 USENIX Conference on USENIX Annual Technical Conference (USENIXATC\u201911)","author":"Wundsam Andreas","year":"2011","unstructured":"Andreas Wundsam, Dan Levin, Srini Seetharaman, and Anja Feldmann. 2011. OFRewind: Enabling Record and Replay Troubleshooting for Networks. In Proceedings of the 2011 USENIX Conference on USENIX Annual Technical Conference (USENIXATC\u201911). USENIX Association, USA. 29."},{"key":"e_1_3_2_1_103_1","doi-asserted-by":"publisher","DOI":"10.1145\/3424669"},{"key":"e_1_3_2_1_104_1","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694360"},{"key":"e_1_3_2_1_105_1","doi-asserted-by":"publisher","DOI":"10.1145\/3308558.3313591"},{"key":"e_1_3_2_1_106_1","volume-title":"2016 49th Annual IEEE\/ACM International Symposium on Microarchitecture (MICRO). 1\u201314","author":"Yan M.","unstructured":"M. Yan, Y. Shalabi, and J. Torrellas. 2016. ReplayConfusion: Detecting cache-based covert channel attacks using record and replay. In 2016 49th Annual IEEE\/ACM International Symposium on Microarchitecture (MICRO). 1\u201314."},{"key":"e_1_3_2_1_107_1","doi-asserted-by":"publisher","DOI":"10.1145\/3173162.3173186"},{"key":"e_1_3_2_1_108_1","doi-asserted-by":"publisher","DOI":"10.1145\/3373376.3378466"},{"key":"e_1_3_2_1_109_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP40000.2020.00054"}],"event":{"name":"ASPLOS '22: 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems","location":"Lausanne Switzerland","acronym":"ASPLOS '22","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGOPS ACM Special Interest Group on Operating Systems","SIGARCH ACM Special Interest Group on Computer Architecture","SIGBED ACM Special Interest Group on Embedded Systems"]},"container-title":["Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3503222.3507754","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3503222.3507754","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3503222.3507754","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:11:40Z","timestamp":1750191100000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3503222.3507754"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,2,22]]},"references-count":109,"alternative-id":["10.1145\/3503222.3507754","10.1145\/3503222"],"URL":"https:\/\/doi.org\/10.1145\/3503222.3507754","relation":{},"subject":[],"published":{"date-parts":[[2022,2,22]]},"assertion":[{"value":"2022-02-22","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}