{"id":8300,"date":"2025-03-25T18:19:49","date_gmt":"2025-03-25T09:19:49","guid":{"rendered":"https:\/\/redwood.snu.ac.kr\/wordpress\/?page_id=8300"},"modified":"2026-03-30T20:24:58","modified_gmt":"2026-03-30T11:24:58","slug":"tutorial-for-esweek","status":"publish","type":"page","link":"https:\/\/redwood.snu.ac.kr\/wordpress\/index.php\/tutorial-for-esweek\/","title":{"rendered":"Tutorial for ESWEEK"},"content":{"rendered":"\n<h1><span style=\"color: #202938;\">\n    <strong>ESWEEK 2025 Tutorial<\/strong>\n    <br>\n    <strong><i>Deep Software Stack Optimization for AI-Enabled Embedded Systems<\/i><\/strong>\n<\/span><\/h1>\n<p style=\"text-align: left; font-size: 10pt; margin-top: -25px;\">\n    <ul style=\"margin-bottom: 2px; margin-top: 2px; padding-left: 18px; list-style-type: circle; font-size: 11pt;\">\n        <li>Seongsoo Hong (Seoul National University)<\/li>\n        <li>Namcheol Lee (Seoul National University)<\/li>\n        <li>Geonha Park (Seoul National University)<\/li>\n        <li>Taehyun Kim (Seoul National University)<\/li>\n    <\/ul>\n<\/p>\n\n<div class=\"su-note\"  style=\"border-color:#e5e5e5;border-radius:20px;-moz-border-radius:20px;-webkit-border-radius:20px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#FFFFFF;border-color:#ffffff;color:#333333;border-radius:20px;-moz-border-radius:20px;-webkit-border-radius:20px;\">\n\n<div class=\"su-box su-box-style-bubbles\" id=\"\" style=\"border-color:#bcbcbc;border-radius:5px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#efefef;color:#000000;border-top-left-radius:3px;border-top-right-radius:3px\">\u25b6 Overview<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:3px;border-bottom-right-radius:3px\">\n<p><strong>Objective<\/strong>\n    <br>\n    This tutorial provides lectures and hands-on exercises on optimizing and deploying LiteRT (formerly TFLite) models on the RUBIK Pi platform, focusing on pipeline parallelism for efficient on-device inference.\n<\/p>\n\n<p style=\"margin-bottom: 4px;\"><strong>Key Topics<\/strong><\/p>\n<ol style=\"margin-bottom: 12px;\">\n    <li>Inference driver and inference runtime<\/li>\n    <li>Model slicing and conversion<\/li>\n    <li>Throughput enhancement via pipelining on heterogeneous accelerators<\/li>\n<\/ol>\n\n<p style=\"margin-bottom: 2px\"><strong>Target Audience<\/strong><\/p>\n    This tutorial is designed for students, engineers, and researchers interested in on-device AI.\n    <br>It is particularly well-suited for beginners and intermediate-level participants who want to gain practical experience in on-device DNN inference and its optimization.\n<\/div><\/div>\n\n<div class=\"su-box su-box-style-bubbles\" id=\"\" style=\"border-color:#bcbcbc;border-radius:5px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#efefef;color:#000000;border-top-left-radius:3px;border-top-right-radius:3px\">\u25b6 Notice<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:3px;border-bottom-right-radius:3px\">\n<ul style=\"margin-bottom: 0;\">\n    <li><strong>Due to limited number of RUBIK Pi boards, only <span style=\"color: #fb0c08; font-size: 17px;\">20 participants<\/span> can use a board on a first-come, first-served basis.<\/strong><\/li>\n    <ul style=\"list-style-type: circle; margin-top: 4px; margin-bottom: 4px;\"><li>Other attendees are welcome to follow the exercises by observing<\/li><\/ul>\n    <li><a href=\"https:\/\/rubikpi.ai\/\" target=\"_blank\" style=\"text-decoration: underline;\"><strong><span style=\"color: #2980b9;\">RUBIK Pi boards<\/a><\/span> will be provided for use during the tutorial.<\/strong><\/li>\n<\/ul>\n<\/div><\/div>\n\n<div class=\"su-box su-box-style-bubbles\" id=\"\" style=\"border-color:#bcbcbc;border-radius:5px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#efefef;color:#000000;border-top-left-radius:3px;border-top-right-radius:3px\">\u25b6 Prerequisites<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:3px;border-bottom-right-radius:3px\">\n<p style=\"margin-bottom: 4px;\">Please bring a personal <strong>laptop<\/strong> with the following software installed in advance<\/p>\n<ul>\n    <li><a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" style=\"text-decoration: underline;\">Visual Studio Code (VS Code)<\/a> with Remote &#8211; SSH extension installed<\/li>\n    <li><a href=\"https:\/\/www.thundercomm.com\/rubik-pi-3\/en\/docs\/rubik-pi-3-user-manual\/1.0.1-d\/get-started\/#adb-login\" target=\"_blank\" style=\"text-decoration: underline;\">\n        ADB (Android Debug Bridge)<\/a><\/li>\n<\/ul>\n<\/div><\/div>\n\n<div class=\"su-box su-box-style-bubbles font-size: 10pt\" id=\"\" style=\"border-color:#bcbcbc;border-radius:5px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#efefef;color:#000000;border-top-left-radius:3px;border-top-right-radius:3px\">\u25b6 Tentative Schedule<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:3px;border-bottom-right-radius:3px\">\n<div align=\"center\">\n<table style=\"border-collapse: collapse; width: 90%; font-size: 11pt;\">\n<tbody>\n<tr><td colspan=\"2\" style=\"text-align: left; padding: 5px; background-color: #3b88c3; color: white;\"><strong>Lecture 1: Exercise Overview and Setup (1 h 30 min)<\/strong><\/td><\/tr>\n<tr><td rowspan=\"1\" style=\"text-align: center; vertical-align: middle; width: 15%; background-color: #ffffff;\">Lecturer<\/td>\n<td style=\"padding: 5px; background-color: #ffffff;\">Seongsoo Hong<\/td><\/tr>\n<tr><td rowspan=\"2\" style=\"text-align: center; vertical-align: middle; width: 15%; background-color: #ffffff;\">Topics<\/td>\n<td style=\"padding: 5px; background-color: #ffffff;\">Motivating Example<\/td><\/tr>\n<tr><td style=\"padding: 5px; background-color: #ffffff;\">Development Environment Setup<\/td><\/tr>\n<tr><td colspan=\"2\" style=\"text-align: left; padding: 5px; background-color: #3b88c3; color: white;\"><strong>Lecture 2: From Inference Driver to Inference Runtime (1 h 30 min)<\/strong><\/td><\/tr>\n<tr><td colspan=\"2\" style=\"text-align: center; padding: 5px; background-color: #efefef\">Coffee Break (30 min)<\/strong><\/td><\/tr>\n<tr><td rowspan=\"1\" style=\"text-align: center; vertical-align: middle; width: 15%; background-color: #ffffff;\">Lecturer<\/td>\n<td style=\"padding: 5px; background-color: #ffffff;\">Seongsoo Hong and Namcheol Lee<\/td><\/tr>\n<tr><td rowspan=\"2\" style=\"text-align: center; vertical-align: middle; width: 15%; background-color: #ffffff;\">Topics<\/td>\n<td style=\"padding: 5px; background-color: #ffffff;\">Step-by-Step Inference Driver Walkthrough<\/td><\/tr>\n<tr><td style=\"padding: 5px; background-color: #ffffff;\">Internals of LiteRT<\/td><\/tr>\n<tr><td colspan=\"2\" style=\"text-align: center; padding: 5px; background-color: #efefef\">Lunch Break (1 h)<\/strong><\/td><\/tr>\n<tr><td colspan=\"2\" style=\"text-align: left; padding: 5px; background-color: #3b88c3; color: white;\"><strong>Lecture 3: Model Slicer (1 h 30 min)<\/strong><\/td><\/tr>\n<tr><td rowspan=\"1\" style=\"text-align: center; vertical-align: middle; width: 15%; background-color: #ffffff;\">Lecturer<\/td>\n<td style=\"padding: 5px; background-color: #ffffff;\">Seongsoo Hong<\/td><\/tr>\n<tr><td rowspan=\"2\" style=\"text-align: center; vertical-align: middle; width: 15%; background-color: #ffffff;\">Topics<\/td>\n<tr><td style=\"padding: 5px; background-color: #ffffff;\">Model Slicer: Slicing and Conversion Tool for LiteRT<\/td><\/tr>\n<tr><td colspan=\"2\" style=\"text-align: center; padding: 5px; background-color: #efefef\">Coffee Break (30 min)<\/strong><\/td><\/tr>\n<tr><td colspan=\"2\" style=\"text-align: left; padding: 5px; background-color: #3b88c3; color: white;\"><strong>Lecture 4: Throughput Enhancement on Heterogeneous Accelerators (1 h 30 min)<\/strong><\/td><\/tr>\n<tr><td rowspan=\"1\" style=\"text-align: center; vertical-align: middle; width: 15%; background-color: #ffffff;\">Lecturer<\/td>\n<td style=\"padding: 5px; background-color: #ffffff;\">Namcheol Lee<\/td><\/tr>\n<tr><td rowspan=\"2\" style=\"text-align: center; vertical-align: middle; width: 15%; background-color: #ffffff;\">Topics<\/td>\n<td style=\"padding: 5px; background-color: #ffffff;\">Implementing a Pipelined Inference Driver for Heterogeneous Processors<\/td><\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<br>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"https:\/\/github.com\/SNU-RTOS\/DNNPipe-Tutorial\/blob\/main\/25-09-28%20DNNPipe%20Tutorial%20Sample.pdf\" class=\"su-button su-button-style-default\" style=\"color:#FFFFFF;background-color:#1e73be;border-color:#185c98;border-radius:5px\" target=\"_self\"><span style=\"color:#FFFFFF;padding:0px 16px;font-size:13px;line-height:26px;border-color:#629dd2;border-radius:5px;text-shadow:none\"> Slide<\/span><\/a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n<a href=\"https:\/\/github.com\/SNU-RTOS\/DNNPipe-Tutorial\" class=\"su-button su-button-style-default\" style=\"color:#FFFFFF;background-color:#1e73be;border-color:#185c98;border-radius:5px\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"color:#FFFFFF;padding:0px 16px;font-size:13px;line-height:26px;border-color:#629dd2;border-radius:5px;text-shadow:none\"> GitHub<\/span><\/a>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n<\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>ESWEEK 2025 Tutorial Deep Software Stack Optimization for AI-Enabled Embedded Systems Seongsoo Hong (Seoul National University) Namcheol Lee (Seoul National University) Geonha Park (Seoul National University) Taehyun Kim (Seoul National University)<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-8300","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/redwood.snu.ac.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/pages\/8300","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redwood.snu.ac.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/redwood.snu.ac.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/redwood.snu.ac.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/redwood.snu.ac.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=8300"}],"version-history":[{"count":210,"href":"https:\/\/redwood.snu.ac.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/pages\/8300\/revisions"}],"predecessor-version":[{"id":9035,"href":"https:\/\/redwood.snu.ac.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/pages\/8300\/revisions\/9035"}],"wp:attachment":[{"href":"https:\/\/redwood.snu.ac.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=8300"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}