פרויקטי גמר - הנדסת מחשבים - תואר ראשון - תכן חומרה תשפ"ד
הרקע לפרויקט:
כיום מרצפים הפכו למשהו מאוד זמין והם מוציאים כמויות אדירות של מידע, כ 10 מליון דגימות זרם בשנייה (10MHz). על מנת להמיר את הזרמים לבסיסים ולהתמודד עם המידע מנתחים אותו באמצעות GPU-ים חזקים ויקרים ומידע ממרצפים רבים וחזקים. ההצעה של הפרוייקט היא באמצעות רשת נוירונים לתת תרגום מיידי לזרמים שמוציא המרצף לבסיסים. כאשר מדובר במרצף יחיד כאמור, אין צורך להתחרות על כוח עיבוד, רק לעמוד בדרישה של ניתוח בקצב של 10MHz כדי לנתח את המידע שיוצא מהמרצף בזמן אמת ולהוציא בסיסים בזמן אמת.
מטרת הפרויקט:
מטרת הפרוייקט היא לממש רשת נוירונים שתבצע base calling של גינומים בקצב שיתאים ל real time של מרצף.
תכולת הפרויקט:
להבין את האלגוריתם שבעזרתו מבוצע base calling, להבין איך עובדת רשת נוירונים, לממש את רשת הנוירונים בחומרה כך שתבצע את האלגוריתם ולהדגים פעולה.
קורסי קדם:
מעגלים משולבים
מעגלים אלקטרוניים ספרתיים
דרישות נוספות:
ידע בורילוג או קורס ב DDP
מקורות:
CoViT: Real-time phylogenetics for the SARS-CoV-2 pandemic using Vision Transformers
הרקע לפרויקט:
פעולות על מטריצות קריטיות במערכות חישוב (* עיבוד אותות, תקשורת, קריפטוגרפיה, למידת מכונה). אמנם ישנן מערכות חישוב כגון GPUים המותאמות במידה מסוימת להיות יעילות עבור פעולות אלו (שחלוף, מכפלת מטריצות, כפל וקטור במטריצה DOT-PRODUCT וכו', TRACE) הן לא יעילות עבור כולן ועבור גדלים וייצוגים מסוימים, והן יקרות או לא מתאימות לשילוב בכל מערכת חישוב או סביבה.
בפרויקט זה אנו נתכנן מאיצים מיוחדים לפעולות אלו, נשלב אותם בסביבות מעבדים גנריים ונבדוק הפעלת אלגוריתמים מתקדמים ושיפור הביצועים באפליקציות קצה.
מטרת הפרויקט:
ניתוח האצה על החמרה וגם בסביבת הפעלת תכנה. בניית פרימיטיביים יעילים העושים שימוש במשאבי החישוב המודולריים של המעבד\ארכיטקטורה הגנרית שלנו.
תכולת הפרויקט:
הסטודנטים יעבדו על גבי ארכיטקטורת מעבד מתקדמת וגנרית הניתנת להרחבה, יבנו מקרויים של ISA ותיאור ה HIGHLEVEL קוד שלהם (C). לבסוף עבור הפרימיטיביים הנמוכים ביותר יבנו קוד חמרה (לא הכרחי). החלק המשמעותי בפרויקט יהיה הרצת אלגוריתמים מתקדמים שבחרנו * בקוד בשפה גבוה (C) על גבי הסביבה, בחינת שיפור ביצועים, השוואה וניתוח.
קורסי קדם:
קורסי ארכיטקטורה או ארכיטקטורה מתקדמת (מומלץ אך לא חובה ויכולים לקחת בסמסטר א)
דרישות נוספות:
חובה יכולות טכניות, מימוש קוד והבנת מערכות מבוססות מעבד.
יכולת הפשטה והבנת עיקר ותפל –הסטודנטים ייבחנו גם ביכולתם לנתח אלגוריתמים וסיבוכיות ללא הכרת האפליקציה לעומק. ולכן יתאימו סטודנטים יצירתיים ושאפתניים.
יכולות תכנותיות גבוהות והבנת קוד.
נכונות להיקף עבודה משמעותי.
מקורות:
יינתנו למתאימים ספרי שימוש בפלטפורמה שלנו ומקורות מדויקים לכל פרימיטיב שנבנה
הרקע לפרויקט:
בחמשת השנים האחרונות חלה התקדמות משמעותית במודלים ללמידה עמוקה. מודל הTransformer המבוסס על מנגנון הAttention הוא הגורם המשמעותי ביותר לכך. על אף ההתקדמות, מודל זה דורש משאבי חומרה רבים. הגורמים המרכזיים לכך הם כמות הפרמטרים (GPT3 למשל דורש 175 מיליארד פרמטרים), שימוש בייצוג floating point (IEEE 754) ושימוש בפונקציית ה softmax.
מטרת הפרויקט:
בפרוייקט זה נחקור שיטות שונות למימוש יעיל של פונקציית הsoftmax. המשתתפים ילמדו על שיטות מימוש שונות החל מרמת האלגוריתם, דרך מימוש בחומרה ולבסוף מדידת תוצאות. תוך כדי הפרוייקט הסטודנטים יחקרו את ההשפעה של מימוש השיטות השונות על המטריקות:(PPA) Power, Performance, Area.
תכולת הפרויקט:
- כתיבת אלגוריתם יעיל לביצוע פעולת softmax
- מימוש חומרתי בשפת ורילוג של האלגוריתם המוצע
- סינטזה למימוש החומרתי ומדידת תוצאות
- בדיקת נכונות ברמת הGate-level
- סינטזה לכרטיס FPGA
- מדידת תוצאות על כרטיס הFPGA
קורסי קדם:
מעגלים אלקטרוניים ספרתיים (83308), מעבדה למעגלים אלקטרוניים ספרתיים (83315), מעגלים משולבים ספרתיים (83313)
דרישות נוספות:
שפת ורילוג, ידע בלמידת מכונה, כתיבת קוד בשפת C
מקורות:
- I. Kouretas and V. Paliouras, "Simplified Hardware Implementation of the Softmax Activation Function," 2019 8th International Conference on Modern Circuits and Systems Technologies (MOCAST), Thessaloniki, Greece, 2019, pp. 1-4, doi: 10.1109/MOCAST.2019.8741677.
- Y. Gao, W. Liu and F. Lombardi, "Design and Implementation of an Approximate Softmax Layer for Deep Neural Networks," 2020 IEEE International Symposium on Circuits and Systems (ISCAS), Seville, Spain, 2020, pp. 1-5, doi: 10.1109/ISCAS45731.2020.9180870.
- Nilsson, Peter, Ateeq Ur Rahman Shaik, Rakesh Gangarajaiah and Erik Hertz. “Hardware implementation of the exponential function using Taylor series.” 2014 NORCHIP (2014): 1-4. https://www.eit.lth.se/sprapport.php?uid=805
הרקע לפרויקט:
Low-Density Parity Check (LDPC) codes represent a class of error correcting codes that may be employed for providing error correction. Using LDPC codes, channel capacities that are close to the theoretical Shannon Limit can be achieved.
Hardware in space faces many challenges that can cause a bit-flip and errors to be found in the memory and thus an ECC of some sort is needed.
LDPC encoder and decoder can be used as an ECC for memory arrays and the interest of this project is to actually implement this in hardware using radiation hardening by design techniques.
מטרת הפרויקט:
The goal of this project is to design an LDPC encoder and decoder in hardware that will implement radiation hardening techniques that will be learned during the project.
תכולת הפרויקט:
Design and implement an LDPC encoder and decoder in hardware.
קורסי קדם:
- מעגלים אלקטרונים ספרתיים
מקורות:
הרקע לפרויקט:
המטרה הכללית היא ליישם מערכת יעילה אנרגטית למגוון אפליקציות המוגבלות במשאבים, חשבו על מעקב אחרי לווין בחלל, עיבוד תמונה בטלסקופ, מעקב אחרי מקורות ודוברים ברכיבי קצה או LIDAR שצריך להיות מאוד מאוד מהיר.
קירוב על חשבון מהירות הוא טריידאוף נפוץ. הפרויקט אב בנושא זה (חישוב מקורב על מעבדים) מכיל שני תתי פרויקטים: בשני הפרויקטים הסטודנטים נוגעים באבני בנין מסוימות ובונים וריאנטים אשר מבצעים את הפקודה הדרושה עם רמות שונות של "קירוב" או אי- דיוק בחישוב. הפרויקט הראשון (פרויקט זה) עוסק במחברים, מכפלים, מעלה בריבוע ו MACים והפרויקט השני מתמקד במודולו וחלוקה. בנוסף, הפרויקט השני שם יותר דגש על חיבור אפליקציות היעד והרצת BENCHMARKS ב C מעל" המעבד שלנו. כלומר אפליקציות המוכנות לספוג את השגיאה הרצויה.
מטרת הפרויקט:
רוב עבודות קודמות בתחום מי משו מעגלי קירוב או בחמרה ייעודית או בתכנה (מעל לאבסטרקציית "המעבד") אך נדיר ששילבו במעבד ובזאת זוג הפרויקטים האלו ייחודיים. כמו גם הגישה ההוליסטית של מתן מגוון פונקציונליות מקורבת שהמערכת תומכת בה ( בשונה מספרות קודמת בתחום ).
תכולת הפרויקט:
למידת סביבת המעבדים היחודית שלנו, קריאת לא מעט ספרות והגדרת ארכיטקטורה ומימוש הרחבות לפעולות המקורבות על בסיס המעבד (והקוד העילי המתאר אותן), כמו כן מימוש קוד מעטפת לספק השוואה ובדיקת יעילות בשפה עילית.
קורסי קדם:
קורס אריתמטיקה למחשב הכרחי
דרישות נוספות:
ידע קודם בסיסי בתכנות ותכן קוד \ אסמבלי, ותכן חמרה הינם יתרון.
מקורות:
מקורות מתקדמים ויותר ספציפיים יינת נו למועמדים רלוונטיים.
הרקע לפרויקט:
חישוב סטוכסטי הינו פתרון שעשוי להיות יעיל במקרים שבהם החישוב מסוגל לספוג שגיאה. אמנם, ככל שדרושה שגיאה יותר נמוכה החישוב איטי יותר. עד כה הניסוי להשתמש בחישוב סטוכסטי היה באפליקציות שלא יכלו לספוג הרבה שגיאה ולכן טכניקות אלו לא הגיעו לרכיבים בשטח (היות ודרשו זמן חישוב ארוך מאוד\ לא כדאי). מאידך ישנם חישובים הדורשים שגיאה משמעותית כמו אלגוריתמי "למידה עם שגיאה" שמסתמכות עליהן מגוון אפליקציות קריפטוגראפיות. בפרויקט נבנה תיאוריה וכלים לשלב בין השנים באופן שיוריד בצורה משמעותית את עלות המימוש הקריפטוגראפית.
מטרת הפרויקט:
מימוש ושילוב, בתכנה באופן מתודולוגי אלגנטי ויעיל זה עיקר החלק המימושי של הפרויקט.
תכולת הפרויקט:
חלק הבנתי \ למידתי: קריאה ולמידת רקע כללי על Post Quantum Crypto PQC ובניות המתבססות על הנחות קושי בסריגים (LATICES) כמו בעיית (Ring learning with error) R-LWE
מה הפרמטרים הדרושים למימוש, גודל המשתנים פילוג הרעש וכו' .
קריאה ולמידה על מכפלות ובפרט על מכפלות וקטוריות בחישוב סטוכאסטיי
קורסי קדם:
מבוא לקריפטו
דרישות נוספות:
ידע קודם בסיסי בתכנות ותכן קוד יתרון ובפרט ייתרון ליכולות בבניית קוד יעיל למעבדים שונים, למרות שגם
מימוש C ישים. יתרון לסטודנים אשר לקחו קורסים במבוא לאבטחת חמרה \ קריפטוגראפיה מתקדמת ; קורסים אלו אמנם לא תנאי הכרחי.
יכולות תכנותיות ואנליטיות גבוהות .
נכונות להיקף עבודה משמעותי.
מקורות:
מקורות מתקדמים ויותר ספציפיים יינת נו למועמדים רלוונטיים.
הרקע לפרויקט:
מנגנוני חמרה\תכנה המייצרים חתימה ייחודית לרכיבים אלקטרוניים מסוגלים לספק פתרונות אבטחה זולים, יעילים ומהירים. אמנם תוקפים חזקים המסוגלים למדוד מהמימוש אינפורמציה בזמן פעולתו או להחדיר כשלים בחישוב, עלו לים לפגום באבטחת המנגנון.
בפרויקט הסטודנטים יממשו בתכנה בלבד מנגנון הגנה העושה שימוש בקודים לתיקון שגיאות ומגן בפני פליטת האינפורמציה מהם ע"י מנגנונים כמו מיסוך ויממשו גם את החלקים האמונים על ההגנה. הסטודנטים ינתחו את פליטת האינפורמציה ע"י מדידה בסביבת תכנה עם אינסטרומנטצית מדידה.
מטרת הפרויקט:
מימוש וניתוח זליגה
תכולת הפרויקט:
הסטודנטים יקראו וילמדו שיטות הגנה וספרות קודמת. הסטודנטים יממשו בתכנה פתרונות ידועים וינתחו את זליגת האינפורמציה מהם תחת החדרת כשל ולבסוף פתרונות חדשים שפיתחנו למנוע כשלים אלו. הפרויקט כולל מימוש, ניתוח ואנליזה ודורש יכולות טכניות ואנליטיות גבוהות.
קורסי קדם:
קידוד למערכות מחשב, מבוא לחומרה בטוחה
דרישות נוספות:
ידע קודם בסיסי בתכנות ותכן קוד (או חמרה)
יתרון לסטודנים אשר לקחו קורסים בקידוד, יתרון לסטודנטים אשר לקחו קורסים במבוא לאבטחת חמרה. קורסים אלו אמנם לא תנאי הכרחי.
הפרויקט משלב מימוש ושימוש בידע תיאורטי. עדיפות תינתן עבור סטודנטים (או לפחות שאחד הסטודנטים) שיש להם רקע רלוונטי או נסיון סביר בתכן על מעבד (C) והתנסו בפרויקט שבו עבדו על פלטפורמת מעבד.
מקורות:
מקורות מתקדמים ויותר ספציפיים יינת נו למועמדים רלוונטיים.
Merli, Dominik, Frederic Stumpf, and Georg Sigl. "Protecting PUF error correction by codeword masking." Cryptology ePrint Archive (2013).
הרקע לפרויקט:
Transformers have been a game changer in the field of deep learning. Chatbots such as ChatGPT are transformer-based. Transformers carry extremely high computational requirements hence accelerating them, especially in edge applications, is critical
מטרת הפרויקט:
To design an energy efficient transformer accelerator for edge applications
תכולת הפרויקט:
- transformer algorithm study,
- state of the art study
- definition of requirements
- architecture definition
- logic design
- simulation and verification
- synthesis and physical design
- pre-silicon evaluation
מקורות:
Material on the Internet
הרקע לפרויקט:
שיטות קיימות לסינכרון שעונים על גבי שבב (למשל, עצי שעונים) הן ריכוזיות ואינן סקלביליות: הפרשי הזמן בין שני שעונים של יחידות סמוכות הוא פרופורציוני לגודל השבב. אנו חוקרים שיטות בהן הפצת השעון נעשית באופן מבוזר (ולא ריכוזי). התהליך של תכנון חומרה לסינכרון שעונים לרוב מתחיל בניסוח אלגוריתם מבוזר תאורטי, ניתוח תאורטי, מימוש האלגוריתמים בחומרה, ולבסוף הדגמה באמצעות סימולציות שאכן המימוש תואם את התאוריה.
מטרת הפרויקט:
בפרוייקט זה נעשה תהליך הפוך! אנו נלמד את שיטת הפצת השעון במאמר המצורף, נחלץ ממנו את אלגוריתם מבוזר ה"חבוי" בו, ננתחו, ונממשו שוב בראייה האלגוריתמית אותה נפתח. כמובן, עלינו לשחזר את תוצאות המעגל המקורי במימושינו.
תכולת הפרויקט:
- למידת המאמר המצורף.
- חילוץ אלגוריתם מבוזר "רציף".
- תכנון אלגוריתם מבוזר "בדיד".
- ניתוח תאורטי של האלגוריתם (ניתוח זמן התכנסות, הפרש שעונים לוקאלי וגלובלי מושג, וכו').
- מימוש האלגוריתם בתכן ספרתי.
- שחזור תוצאות המאמר.
- ריכוז וסיכום התוצאות בפורמט של מאמר.
קורסי קדם:
- 83681 חומרה מכילה מטסטביליות
- 83612 מעגלי ומערכות VLSI דיגיטליים
מקורות:
S. Fairbanks and S. Moore, "Self-timed circuitry for global clocking," 11th IEEE International Symposium on Asynchronous Circuits and Systems, 2005, pp. 86-96, doi: 10.1109/ASYNC.2005.29. (https://www.cl.cam.ac.uk/~swm11/papers/async2005.pdf)
הרקע לפרויקט:
Using deep learning for genome analysis has emerged as a powerful and promising approach in the field of bioinformatics and computational biology. It involves applying deep neural networks, a subset of machine learning techniques, to analyze and extract valuable information from genomic data.
מטרת הפרויקט:
The goal of this project is to build and demonstrate a genome classification using deep learning accelerator and show a comparison to existing models.
תכולת הפרויקט:
לבנות מאיץ לאנליזה גינומית כגון קלסיפיקציה, תוך שימוש ברשתות למידה עמוקה עם מודלים כמו טרנספורמר
קורסי קדם:
מבוא להנדסת תוכנה ומחשבים
מקורות:
הרקע לפרויקט:
רשת גנטית היא למעשה רשת בוליאנית ולכן יש דמיון מסוים למעגלים דיגיטליים. המוטיבציה היא להשתמש בכלים החזקים שיש בתחום ה vlsi על מנת ללמוד על הרשת הביולוגית.
מטרת הפרויקט:
בניית תשתית לתרגום אוטומטי של רשת גנטית לשפת חומרה וביצוע סימולציה פורמלית לרשת
תכולת הפרויקט:
בחלק הראשון המחקר יתמקד ב״תרגום״ הרשת הגנטית לשפת חומרה (ככל הנראה ורילוג) ובשלב השני שימוש בכלי בדיקה וסימולציה לבחינת הרשת.
קורסי קדם:
מעגלים משולבים
דרישות נוספות:
ידע בשפת חומרה
מקורות:
- Yordanov, Boyan, et al. "A method to identify and analyze biological programs through automated reasoning." NPJ systems biology and applications 2.1 (2016): 1-16.