{"id":8673,"date":"2025-07-22T17:34:12","date_gmt":"2025-07-22T08:34:12","guid":{"rendered":"https:\/\/redwood.snu.ac.kr\/wordpress\/?page_id=8673"},"modified":"2025-08-20T08:38:45","modified_gmt":"2025-08-19T23:38:45","slug":"tutorial-for-rtcsa-2025","status":"publish","type":"page","link":"https:\/\/redwood.snu.ac.kr\/wordpress\/index.php\/tutorial-for-rtcsa-2025\/","title":{"rendered":"Tutorial for RTCSA 2025"},"content":{"rendered":"\n<h1><span style=\"color: #202938;\">\n    <strong>RTCSA 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>The number of participants is <span style=\"color: #fb0c08; font-size: 17px;\">limited to 20<\/span> on a first-come, first-served basis.<\/strong><\/li>\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:\/\/developer.android.com\/tools\/releases\/platform-tools?_gl=1*1fyil6o*_up*MQ..*_ga*MTU0Mzc1NDk2MS4xNzUzMjU2MTQ0*_ga_6HH9YJMN9M*czE3NTMyNTYxNDMkbzEkZzAkdDE3NTMyNTYxNDMkajYwJGwwJGgyMDc1MjY1NTUx\" 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\" 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: From Inference Driver to Inference Runtime (50 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;\">Step-by-Step Inference Driver Walkthrough<\/td><\/tr>\n<tr><td style=\"padding: 5px; background-color: #ffffff;\">Internals of Lite Runtime (LiteRT)<\/td><\/tr>\n<tr><td colspan=\"2\" style=\"text-align: center; padding: 5px; background-color: #efefef\">Brief Break (10 min)<\/strong><\/td><\/tr>\n<tr><td colspan=\"2\" style=\"text-align: left; padding: 5px; background-color: #3b88c3; color: white;\"><strong>Lecture 2: Model Slicer  (50 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\">Brief Break (10 min)<\/strong><\/td><\/tr>\n<tr><td colspan=\"2\" style=\"text-align: left; padding: 5px; background-color: #3b88c3; color: white;\"><strong>Lecture 3: 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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"http:\/\/redwood.snu.ac.kr\/wordpress\/wp-content\/uploads\/2025\/08\/25-08-20-RTCSA25-Tutorial.pdf\" 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\"> Slide<\/span><\/a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n<a href=\"https:\/\/github.com\/SNU-RTOS\/RTCSA25-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<\/div><\/div>\n<\/div><\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>RTCSA 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-8673","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/redwood.snu.ac.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/pages\/8673","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=8673"}],"version-history":[{"count":126,"href":"https:\/\/redwood.snu.ac.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/pages\/8673\/revisions"}],"predecessor-version":[{"id":8848,"href":"https:\/\/redwood.snu.ac.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/pages\/8673\/revisions\/8848"}],"wp:attachment":[{"href":"https:\/\/redwood.snu.ac.kr\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=8673"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}