Programming Language and Compiler Staff
At Chicago UpDown, we are building breakthrough graph computing acceleration that can deliver 1000x performance over today's cloud-based approaches. To deliver it, we are developing novel programming tools and notations. With it real-time mapping and analytics of trillion-node graphs will become instant.
We need a talented Programming Language and Compiler Staff to refine programming notations for event-driven UpDown accelerator programs. These systems face the challenge of describing complex graph applications, managing extreme task and memory parallelism (mllion-fold). With extensive co-designed hardware support, these systems employ actor-like models, global addressing and efficient hardware task scheduling. Also critical is experience with Industry frameworks (LLVM) and code optimization, and capable with advanced AI tools to create advanced compilation tools. Key challenges include: managing thread and memory parallelism, privatization and exploitation of a scratchpad memory. We may also implement query optimization over graph data.
Key Responsibilities
Design and extension of programming notation (actor-like) that exploits a distributed global address space, but also ability to control task and memory parallelism.
Compiler Design and Development: Code generation and optimization,register and locality management, and data movement optimization for custom and standard hardware architectures (e.g., CPUs and Updown).
Performance Profiling: Analyze system performance, identify bottlenecks at the instruction and memory levels, and implement compiler solutions
Toolchain Maintenance: Maintain, extend, and upgrade existing compiler frameworks (such as LLVM, GCC, or proprietary toolchains) and ensure robust code quality.
Minimum Qualifications
Education: Bachelors or Graduate degree in CS, CE, or related technical field.
Experience: 5 years of experience writing production-quality multi-threaded code in C/C++.
Compiler/Framework Experience: 5 years hands-on language/library design and work within compiler infrastructures (eg LLVM, MLIR, or GCC).
Hardware/Architecture: Strong grasp of computer architecture, parallelism, and SIMD.
Preferred Qualifications
Experience with domain-specific languages (DSLs), Actor models (eg. Erlang), memory hierarchy optimization, and accelerators
Experience with parallel programming models and APIs (e.g., Actor models, CUDA, OpenCL, SYCL, MPI).
Proficiency in C++ and scripting languages.
To apply, send a cover letter and resume to recruiting@chupdown.com