Software Development Engineer
Intel Corporation, Santa Clara, California, August 2017 to Present
Implementation of the core GPU runtime interfaces and plugins for the DPC++ compiler
Development on Analysis and Transformation passes for in-house/open-source LLVM compiler. Worked with Alias analysis, Loop invariant code motion, Global value numbering, Scalar replacement, Instruction combining transformation etc
Performance analysis and optimization of SPEC benchmarks on Intel CPU/GPU
Tool(s): C++, shell
Software Development Engineering Intern
Huawei Technologies Co., Santa Clara, California, June 2015 to December 2015
Prototyping and Performance Analysis:
In order to integrate a software packet generator into the software-defined service function chaining, frameworks like net-expect, scapy and pf_ring were analyzed and tested on a virtual machine based client-server prototype with a L2 forwarding module. Experiments show that pf_ring achieves desired wire transfer rate, throughput, latency while others do not maintain that quality.
Openstack Cloud:
Private Openstack cloud was setup to support multiple tenants/projects with neutron network and telemetry, backup service and HTTPS service.
Use case analysis and performance monitoring of Openstack cloud with/without containers (i.e., docker) by integrating Docker with nova-docker driver.
Automation by Dockerization:
To automate the environment setup/configuration and installation of a complete testing platform and provide portability, docker images were created for nvstf-manager, tester and tested nodes.
Tool(s): C++, Python
Software Engineer
Samsung R&D Institute Bangladesh Ltd., Dhaka, Bangladesh, 2010 to 2011
DSP SW Development for Camera and Channel:
Image processing techniques, effects and codecs (Google WebP, jpeg specifically) were ported on Samsung's own Reconfigurable Processor (SRP) using RPCC compiler as well as on ARM Neon to analyze their performance. Optimization and modification of the image processing algorithms were introduced to meet the performance goal.
Application Development and Bug Fixing on NXP Mobile Platform.
Tool(s): C
Software Developer
Roots Information Technology, Dhaka, Bangladesh, 2010
Requirement Analysis, Design and Development of a Tunnel Server for a VOIP Switch:
A tunnel server was developed in between the user and the asterisk switch to provide a safe passage for the media streams (e.g., audio and video) over blocked IP networks. Implemented features for the tunnel server were:
IMEI authentication and database
Early detection of streaming packets
Encoding/Decoding mechanism of the protocol packet headers.
Tool(s): C++