System SW Principal Engineer
The ideal candidate has many years of experience architecting and implementing SW for distributed systems. He or she understands how to use CPUs, GPUs, FPGAs, and memory devices to achieve an optimal system performance. The candidate has a background in writing SW for embedded systems, high-performance real-time graphics, video processing, and is able to balance the performance of CPUs and GPUs. He or she is familiar with FPGA functionality and design methodology. The candidate will be setting the standard for Light Field Lab’s system SW design, and will be working daily with a team of software developers, EEs, mechanical engineers, optical engineers, other SW engineers, and experts in light field imaging.
Essential Duties and Responsibilities
- Generate the SW architecture and lead the implementation for a distributed system with nodes that each run a 3D graphic rendering engine, proprietary codecs, a light field rendering engine which takes into account calibration data and display resolution, and data streaming engines.
- Determine the requirements for a processor + GPU for driving a display block with a resolution in the range of hundreds of megapixels up to several gigapixels.
- Generate the SW architecture for a distributed display system driven by multiple servers which includes multiple GPUs, video drivers, processors, and custom FPGAs. Lead the implementation.
- Write SW for high-performance real-time 3D graphics applications.
- Determine a video driver solution in SW to support a single-display resolution of tens of gigapixels.
- Write SW for sending streaming data from a CPU host to a custom target device using PCIe protocols.
- Work to integrate system software into 3rd party API’s of gaming engines.
- Specify the requirements and interconnectivity of a custom FPGA that performs data processing of large data streams for video applications.
- Implement decoding for proprietary codecs in processors, FPGAs, and GPUs.
- Other tasks as assigned
Other Duties and Responsibilities
- Work with HW engineers, EE’s, ME’s, optical engineers, light field imaging experts, and other SW engineers to achieve an optimal system design.
- Evaluate new processors, GPU configurations, and work with vendors from all fields.
- At least 5 years of experience in taking a lead role in the system level architecture, hardware implementation, and HW/SW integration of complex video display systems. Experience with design of multiple imaging or display systems is a plus.
- At least 5 years of experience in taking a lead role in the design and implementation of both system software and embedded software realized in C and C++.
- Able to specify detailed block diagrams for the interconnection between CPUs, GPUs, PCIe devices, FPGAs, and memory devices running in a distributed system.
- Experience with balancing CPU and GPU usage.
- Good understanding of high-performance real-time 3D graphics applications and API’s.
- Familiar with video synchronization across multiple GPU’s running on multiple systems.
- Experience in bringing up FW on an embedded processor.
- Familiarity with working with Display Port video signals, and familiar with video encoding and decoding protocols.
- Familiar with design and implementation of hardware IP blocks, especially video IP blocks, in an FPGA or an embedded system.
- Able to implement video drivers for a display with a resolution of many gigapixels.
- Experience with architecture of imaging systems or display systems.
- Experience writing drivers in Linux for control of video devices, memory, or other hardware devices.
- Able to design FW for a target PCIe device communicating with a host
- Proven experience in working with electrical engineers to bring up the FW for a complex system.
- Familiarity with integration into a 3rd-party gaming engines such as Unity is desirable.
- Experience with SW design of a data streaming engine.
- Comfortable in a fast-paced startup environment
High-level system architecture for a distributed system 2
- System software architecture and implementation
- CPUs, GPUs, PCIe, FPGA, and memory device interconnect
- C and C++
- FPGA interfaces, architecture
- GPU and GPU balancing
- 3D graphics applications and APIs
- Video synchronization across multiple GPUs
- Display devices and hardware IP blocks
- Video interface standards such as Display Port
- Video codecs
- Video IP blocks in an FPGA
- Video drivers for gigapixel resolution displays
- Linux device drivers
- Target PCIe FW
- 3rd party gaming engines
- Data streaming engines
- PCIe communication between a target and a host CPU system
- Video drivers for high-resolution displays PHYSICAL REQUIREMENTS The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
- Ability to lift and carry 25 pounds for 50 feet; bend and reach; work in an environment with daily changes in climate
- While performing the duties of this job, the employee routinely is required to sit, read, write, type and speak for extended periods of time
- The employee is required to move around the premises;
- The employee must be able to observe and respond to people and situations and interact with others encountered in the course of work
- Employee must be able to learn and apply new skills or information
- Must be able to multi-task regularly;
- Employee must display a positive, professional image and attitude and work well with others;
- The environment generally is moderate in temperature and noise levels
- The position also requires the following abilities:
- o Ability to look at computer screen for extended periods; o Ability to concentrate and focus for extended periods; o Ability to handle stress;
o Ability to interact frequently and positively with others; o Ability to meet deadlines
The above information on this description has been designed to indicate the general nature and level of work performance by employees within this classification. It is not designed to contain or interpreted as a comprehensive inventory or exhaustive list of all duties, responsibilities and qualifications required of employees assigned to this job. Management reserves the right to amend and change responsibilities to meet business and organizational needs. Light Field Lab Inc., is an at-will employer and this description is not intended to imply a guarantee of permanent employment.
Major Medical, Dental and Vision insurance available.