Sajjad Taheri
Palo Alto, CA *******@***.***
949-***-**** https://www.github.com/sajjadt
Education
Ph.D. in Computer Science, UC Irvine 2019 Thesis: Towards engineering computer vision systems: from web to FPGAs
M.S. in Computer Engineering, University of Tehran, Iran 2013
B.S. in Computer Engineering, University of Tehran, Iran 2010
Industry
Software Engineer, Computer Vision, Essential Products Sep 2019-present
Developed a extensible and efficient framework for deploying machine learning/computer vision algorithms on a power-constrained consumer device based on Google MediaPipe. Added var- ious calculators optimized for the parallel hardware (GPU and DSP). Languages used: C++, Protobuf, Java, OpenCL, and Halide.
Google Summer of Code (GSoC) Mentor, OpenCV Foundation Summer 2017
Helped with mentoring two students participating in GSoC towards preparing documentation and web based tutorials for OpenCV.js.
JavaScript Engineering Intern, Mozilla Summer 2015
Contributed to FireFox JavaScript JIT compiler to support more ECMAScript SIMD (formerly known as SIMD.js) data types and operations.
Vectorized several gl-matrix matrix and vector functions using SIMD.js API and achieved more than 2x speedup.
Software Engineer, EhSAA Corp, (Tehran, Iran) 2011-2013
Designed and developed a real-time monitoring and access control system on top of ASSA ABLOY ARX. Languages used: C#, C++.
Research Projects
OpenCV.js: Developed the initial version of OpenCV.js, a JavaScript translation of OpenCV library (source-to-source tranlation using LLVM-based toolchain) which brings hundreds of im- age processing and computer vision functions to web browsers with near native performance. Languages used: C++, JavaScript, HTML5, Python.
highlighted in the EE times
AFFIX: Developed a framework for FPGA acceleration of high level computer vision algo- rithms that are modeled as task graphs (based on OpenVX spec). It includes a graph com- piler that translates computer vision algorithms to CPU and FPGA targets. Languages used: OpenCL (C99), Python, C++, CMake.
WebRTCBench: Contributed to development of a benchmark for performance evaluation of WebRTC implementations. Languages used: JavaScript, HTML5.
Skills and Tools
• Programming Languages: Proficient in C/C++, Python, Halide, OpenCL, JavaScript, and Java, familiar with C#, Haskell, and Rust
• Software Development Productivity: Bazel, CMake, GTest, Git, Gerrit, and GitHub
• Office Productivity: LATE
X, PGF/TikZ, and Beamer
• Computer Vision and Machine Learning: OpenCV, MediaPipe, PCL, PyTorch
• Compiler Construction: SSA-based compiler design, LLVM, ANTLR
• Web Standards: WebRTC, WebAssembly, SIMD.js
• Algorithmic Programming and Problem Solving
Honors and Awards
UCI Dean Fellowship, 4 years of full financial support. 2013
Top %0.1 of country, ranked 296 among 200,000 in nationwide university entrance exam. 2005
Teaching and Mentorship
Mentor
UCI International Summer Undergraduate Research 2016 and 2017
• Proposed research projects for undergraduate interns from Korean universities and supervised them in completing them.
Teaching Assistant
• Introduction to Computer Organization, UC Irvine
• Discrete Mathematics for Computer Science, UC Irvine
• Principles of Operating Systems, UC Irvine
• Data Structures, UC Irvine
Conference Papers
S. Taheri, P. Behnam, E. Bozorgzadeh, A. V. Veidenbaum, A. Nicolau, ”AFFIX: Automatic Ac- celeration Framework for FPGA Implementation of OpenVX Vision Algorithms”, ACM/SIGDA FPGA 2019.
S. Taheri, A. V. Veidenbaum, A. Nicolau, N. Hu, and M. Haghighat, ”OpenCV.js: Computer Vision Processing for the Open Web Platform”, ACM Multimedia Systems 2018.
S. Taheri, J. Heo, P. Behnam, J. Chen, A. V. Veidenbaum, A. Nicolau, ”Acceleration Framework for FPGA Implementation of OpenVX Graph Pipelines”, IEEE FCCM 2018.
P. Behnam, B. Alizadeh, S. Taheri, M Fujita, ”Formally Analyzing Fault Tolerance in Datapath Designs using Equivalence Checking”, ASP-DAC 2016.
S. Taheri, L. Beni, A. V. Veidenbaum, A. Nicolau, R. Cammarota, Jianlin Qiu, Qiang Lu and M. Haghighat, ”WebRTCBench: Performance Assessment of WebRTC Implementations”, ACM/IEEE ESTIMEDIA 2015.
B. Khodabandeloo, SA. Hoseini, S. Taheri, MH. Haghbayan, MR. Babaei, Z. Navabi, ”Online Test Macro Scheduling and Assignment in MPSOC Design”, Asian Test Symposium 2011. Magazine
Articles
S. Taheri, A. V. Veidenbaum, A. Nicolau, N. Hu, and M. Haghighat, ”Computer Vision for the Masses: Bringing Computer Vision to the Open Web Platform”, Intel Parallel Universe Magazine, April 2018 issue.
Other S. Taheri Bringing the Power of SIMD.js to gl-matrix, Mozilla Hacks Blog, 2015. Presentations Improving OpenVX Application Development and Optimization Process for FPGAs Systems, Intel, Santa Clara. May 2017
Academic
Services
Peer-reviewer for International Journal of Parallel Programming (IJPP) Community
Services
Co-host ”Static Waves” music show on KUCI radio station Sep. 2016 - March 2017 2 of 2