跳到主要内容

编译工具链

编译工程与效率研发工程师 1、负责C/C++编译工具链的维护,构建与研发; 2、协助业务解决由于编译工具链造成的相关问题; 3、维护和迭代基于编译工具链的研发效能和代码质量工具,提升业务稳定性。 职位要求 1、了解编译原理以及编译相关技术; 2、精通C/C++,了解bazel、cmake等主流C++构建工具; 3、熟悉LLVM/GCC,了解clang-tidy、asan以及PGO/BOLT等工具工作流程; 4、优秀的学习和沟通能力,对提升研发效率以及代码质量有较大热忱; 5、有程序分析以及Clang/LLVM研发经验者优先。

(1)熟悉GCC/LLVM等编译器开发,并参与相关社区者优先; (2)有RISC-V编译器开发经验者优先; (3)有HPC/AI编译器以及高性能库开发经验者优先; (4)有编译器后端开发经验,或者ISA和微架构协同设计经验者优化。

1、负责RISC-V处理器的编译后端使能,性能优化,ISA和微架构的软硬件协同设计与优化(基于GCC/LLVM); 2、负责RISC-V编译器的QA,测试,协助处理器TapeOut等工作; 3、负责RISC-V生态下各种编程语言(C++/Java/Go/Rust/WebAssembly)及周边基础库移植优化,促进RISC-V生态增长。基础库包括但不限于,线程、存储、压缩等常用基础库。

4、熟悉Intel/AMD x86_64或ARM64、RISC-V体系结构,精通x86_64、ARM64、RISC-V微架构; 5、精通C/C++,熟悉C++底层实现原理; 6、有以下经验者优先: a. 熟悉LLVM/GCC等C/C++编译器,并参与相关社区者优先; b. 有HPC/AI编译器以及高性能库开发经验者优先。

3、具备良好的责任心、主动性、沟通和团队协作能力; 4、有Bazel/CMake/Gradle/Maven等至少一种构建工具使用经验者优先; 5、有大规模分布式缓存系统开发、编译实践及业务优化者优先; 6、有单体仓库实践经验者优先。

职位描述 1、开发适合字节场景下的高性能C/C++基础库,提供与特定微处理器架构绑定的极致内存操作、容器操作、哈希操作、视频编解码以及数据加解密等; 2、维护和迭代传统基础库,如glibc,libstdc++,openssl等,通过编译优化等方式极致化性能; 3、维护和迭代其它知名三方高性能函数库,如jemalloc,Boost,folly,protobuf,Eigen,为上层业务提供稳定高性能的基础库环境。 职位要求 1、熟悉计算机体系结构、操作系统原理及编译优化; 2、熟悉下列任意其一且阅读并理解核心代码实现: (1)glibc的pthread_lock*,memcpy/memcmp/memmove (2)STL/folly/boost (3)jemalloc/tcmalloc (4)Eigen或者任意开源BLAS的优化实现 (5)FFmpeg核心编解码单元在CPU架构上的优化 3、熟练数据结构与算法,熟练使用C/C++/Java/Python/Go 其中之一。