Post Job Free
Sign in

Software Engineer Engineering

Location:
Palo Alto, CA
Posted:
April 12, 2020

Contact this candidate

Resume:

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



Contact this candidate