Sharc-lab Github is where we maintain our open-source code
Sharc-lab Knowledge Pool is where we collect and record our knowledge (especially HLS) and research experiences at Sharc.
Tutorials
FPGA and HLS
- How to use Vitis (Vivado) HLS tool for FPGA:
- Vivado HLS Technical Introduction
- https://www.youtube.com/watch?v=hZ2RGwLmXc0
- This is a very beginner-friendly document:
- https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_1/ug871-vivado-high-level-synthesis-tutorial.pdf
- Other useful Resources from Xilinx:
- https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_1/ug902-vivado-high-level-synthesis.pdf
- https://www.xilinx.com/support/documentation/sw_manuals/ug998-vivado-intro-fpga-design-hls.pdf
- https://github.com/Xilinx/HLS-Tiny-Tutorialshttps://xilinx.github.io/Vitis_Accel_Examples/master/html/cpp.html
- https://www.xilinx.com/html_docs/xilinx2020_2/vitis_doc/hls_pragmas.html
- (Recommended) A tutorial about parallel programming for FPGA with High-Level Synthesis
- Video: https://www.youtube.com/watch?v=2UvUP2hxMyI
- Slides + Tutorial Code
- A book about practical parallel programming for FPGA using HLS
- https://arxiv.org/pdf/1805.03648.pdf
- Helpful examples of HLS programming on FPGA
- DAC-SDC 2021 competition top-3 winner designs
- https://github.com/jgoeders/dac_sdc_2020_designs
- DAC-SDC 2020 competition top-1 winner designs (with clear execution instructions)
- https://github.com/TomG008/SkyNet
- Vitis-AI examples (Xilinx official github)
- https://github.com/Xilinx/Vitis-AI
- DAC-SDC 2021 competition top-3 winner designs
Graph Neural Networks and other NNs
- (Beginner) A brief and high-level introduction to GNN
- https://www.youtube.com/watch?v=fOctJB4kVlM&t=9s
- (Beginner) A nice blog introducing GNN: https://distill.pub/2021/gnn-intro/
- (Advanced) Introductory Course
- Stanford CS224W by Prof. Jure Leskovec
- Link: http://web.stanford.edu/class/cs224w/
- Must-read GNN papers
- https://github.com/thunlp/GNNPapers
- CNN/RNN Tutorials
- https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-convolutional-neural-networks
- Datasets
- Quantum chemistry: https://www.kaggle.com/zaharch/quantum-machine-9-aka-qm9
- Open graph benchmark (OGB): https://ogb.stanford.edu/
- Large-scale ML graph competition: https://ogb.stanford.edu/kddcup2021/
- https://ls11-www.cs.tu-dortmund.de/staff/morris/graphkerneldatasets
Advice on Ph.D.
- Useful Thoughts about Research from Prof. H. T. Kung
Article Writing
How to write…
- Rebuttal
- [Article] borrowed from Prof. Jure Leskovec at Stanford. Many thanks!
- Abstract
- [Article] by Markus Kuhn at the University of Cambridge.
- A scientific paper
- [Resource] from UCSB website.
Always check first if you’re not sure:
- Common errors in technical writing, by John Owens
- Most common Chinese-English habits, by Felicia Brittman
- Common bugs in writing, by Henning Schulzrinne at Columbia
- See how the words are used [here]
- A strongly recommended grammar check tool: grammarly
Grammar mistakes ever made by Callie:
- “denoted by” or “denoted as”?
- 67,800 results of “denoted by” against 18,300 results of “denoted as” in Google Scholar.
- “This parameter is denoted by P”, or “Let P denote this parameter”.
- “a, b and c” or “a, b, and c”? [ref1] [ref2]
- 1) The 3000$ will be split between you, Callie and Pan.
- 2) The 3000$ will be split between you, Callie, and Pan.
- How much money will you get?
- “which” or “that”? [ref]
- In a defining clause, use “that”; in non-defining clauses, use “which”.
- Remember, “which” is as disposable as a sandwich bag. If you can remove the clause without destroying the meaning of the sentence, the clause is nonessential and you can use “which”.
- “a same” or “the same”? [ref]
- You and I have the same problem: bad English writing.
- You and I have a common problem: bad English writing.
- “as follows” is the only correct phrase [ref]
- “As follows” is always the correct form, even for an enumeration of many things. The expression is elliptical for “as it follows—not “as they follow”.
- These are incorrect (which were mistakenly used by Callie): as following, as the following, etc.
- “thus” is an adverb, not a conjunction
- × Wrong: No one showed up, thus the class was canceled. (Interestingly, this wrong example is found on a dictionary website [ref]…)
- √ Right: No one showed up and thus the class was canceled.
- Also pay attention to other adverbs!
- “independent of” or “independent from” [ref]
- X is independent of y.
- About references in an article [ref] [ref]
- Using a citation reference like a word is an extremely bad style; always use the work’s name or author(s)’ name
- 1-2 Authors: name1 and name2
- 3 or more authors: name et al.
- Pay attention to the punctuation
Related Conferences/Journals
Electronic Design Automation
- Design Automation Conference (DAC)
- Submission in late November, conference in June/July
- International Conference On Computer-Aided Design (ICCAD)
- Submission in late May, conference in November
- Design, Automation and Test in Europe Conference (DATE)
- Submission in late September, conference in March
- Asia and South Pacific Design Automation Conference (ASP-DAC)
- Submission in late September, conference in late July, conference in January
- Great Lakes Symposium on VLSI (GLSVLSI)
- Submission in January, conference in June
Reconfigurable/Parallel Computing
- ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA)
- Submission in September, conference in February/March
- IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM)
- Submission in January, conference in May
- International Conference on Field-Programmable Logic and Applications (FPL)
- Submission in March, conference in September
- ACM SIGSIM Conference on Principles of Advanced Discrete Simulation (PADS)
- Submission in March, conference in June
- SIAM Conference on Parallel Processing for Scientific Computing (PP)
- Submission in September, conference in February
- IEEE International Conference on Application-specific Systems, Architectures and Processors (ASAP)
- Submission in February, conference in July
- Embedded Systems Week (ESWEEK), including:
- International Conference on Compilers, Architectures, and Synthesis for Embedded Systems (CASES)
- International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS)
- International Conference on Embedded Software (EMSOFT)
- Submission in April, conference in October
- ACM/IEEE Supercomputing Conference (SC)
- Submission in late March, conference in November
- IEEE International Parallel & Distributed Processing Symposium (IPDPS)
- Submission in October, conference in May/June
Computer Architecture
- IEEE/ACM International Symposium on Microarchitecture (MICRO)
- Submission in April, conference in October
- International Symposium on Computer Architecture (ISCA)
- Submission in November, conference in June
- International Symposium on High-Performance Computer Architecture (HPCA)
- Submission in July, conference in February
- ACM Architectural Support for Programming Languages and Operating Systems (ASPLOS)
- Spring cycle: March
- Summer cycle: June
- Fall cycle: October
- Conference: March
HPC
Here is an almost full list of HPC-related conferences: https://lists.mcs.anl.gov/pipermail/hpc-announce/
Machine Learning and Deep Learning
- International Conference on Learning Representations (ICLR)
- Submission in October, conference in April
- Conference on Computer Vision and Pattern Recognition (CVPR)
- Submission in November, conference in June
- International Conference on Machine Learning (ICML)
- Submission in January, conference in July
- Annual Conference on Neural Information Processing Systems (NeurIPS)
- Submission in May, conference in November
- International Conference on Computer Vision (ICCV)
- Submission in March, conference in October
- European Conference on Computer Vision (ECCV)
- Submission in March, conference in October
Here is an almost full list of ML conferences:
AISTATS, ALT, COLT, ICLR, ICML, NeurIPS, UAI, ECML, CIKM, ICDM, KDD, SIGIR, WSDM, WWW, AAAI, IJCAI, CVPR, ECCV, ICCV, SIGGRAPH, BMVC, ACL, EMNLP, ICASSP, INTERSPEECH, NAACL, ICRA, IROS, RSS, CORL, AAMAS, HRI, ICAPS, EC, HCOMP, ICWSM, IUI, KR, SAT, CPAIOR, ECAI
Journals
- IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD)
- IEEE IEEE Transactions on Very Large Scale Integration (VLSI) Systems (TVLSI)
- IEEE Transactions on Computers (TC)
- ACM Transactions on Design Automation of Electronic Systems (TODES)
Good Books
- The Road Less Traveled. By M. Scott Peck, 2012
- An abstract summarized by Callie [here]
- Outliers, the story of success. By Malcolm Gladwell, 2008