Job Information Department Name Applications & Algorithms Industry Software Development Minimum Experience In Years 5 Maximum Experience In Years 7 City chennai Province Tamil Nadu Country India Postal Code 600018 About Us MulticoreWare is a global software solutions & products company with its HQ in San Jose, CA, USA. With worldwide offices, it serves its clients and partners in North America, EMEA and APAC regions. Started by a group of researchers, MulticoreWare has grown to serve its clients and partners on HPC & Cloud computing, GPUs, Multicore & Multithread CPUS, DSPs, FPGAs and a variety of AI hardware accelerators. MulticoreWare was founded by a team of researchers that wanted a better way to program for heterogeneous architectures. With the advent of GPUs and the increasing prevalence of multi-core, multi-architecture platforms, our clients were struggling with the difficulties of using these platforms efficiently. We started as a boot-strapped services company and have since expanded our portfolio to span products and services related to compilers, machine learning, video codecs, image processing and augmented/virtual reality. Our hardware expertise has also expanded with our team; we now employ experts on HPC and Cloud Computing, GPUs, DSPs, FPGAs, and mobile and embedded platforms. We specialize in accelerating software and algorithms, so if your code targets a multi-core, heterogeneous platform, we can help. Job Description Job Description: Senior Software Engineer Position Overview We are seeking a highly skilled and experienced Senior Software Engineer to join our dynamic team. The ideal candidate will have a strong background in software development, with expertise in C/C++, Python, and other relevant programming languages. This role requires a deep understanding of CPU and GPU architectures, as well as experience with Linux system programming, GPU programming with CUDA/HIP, and performance optimization using AVX and SIMD. The successful candidate will also have experience with Docker, container orchestration tools, and vision algorithms. Key Responsibilities Software Development: Design, develop, and maintain high-performance software solutions using C/C++, Python, and other relevant languages. Linux System Programming: Develop and optimize software for Linux environments, ensuring robust and efficient system performance. GPU Programming: Utilize CUDA/HIP for GPU programming to enhance computational performance. Performance Optimization: Implement AVX and SIMD programming techniques to optimize software performance. Architecture Understanding: Apply in-depth knowledge of CPU and GPU architectures to develop efficient software solutions. Containerization: Use Docker and container orchestration tools to manage and deploy applications. Profiling and Tuning: Employ profiling tools and performance tuning techniques to identify and resolve performance bottlenecks. Vision Algorithms: Develop and optimize vision algorithms to meet project requirements. Codebase Management: Work with large codebases, ensuring code quality and maintainability. Open-Source Contributions: Contribute to open-source projects and maintain a portfolio on GitHub. Machine Learning: Apply machine learning concepts and applications where relevant. Collaboration: Work closely with cross-functional teams to deliver high-quality software solutions. Problem-Solving: Utilize excellent problem-solving skills to address complex technical challenges. Communication: Communicate effectively with team members and stakeholders to ensure project success. Qualifications Education: Bachelors or Masters degree in Computer Science, Engineering, or a related field. Experience: 5-7 years of professional experience in software development. Programming Skills: Strong proficiency in C/C++, Python, and other relevant programming languages. Linux System Programming: Proven experience with Linux system programming. GPU Programming: In-depth knowledge of GPU programming with CUDA/HIP. Performance Optimization: Expertise in AVX and SIMD programming for performance optimization. Architectural Knowledge: Solid understanding of CPU and GPU architectures. Containerization: Experience with Docker and container orchestration tools. Profiling and Tuning: Familiarity with profiling tools and performance tuning techniques. Vision Algorithms: Experience with vision algorithms and optimizations. Advanced C++ Skills: Advanced C++ skills and experience working with large codebases. Open-Source Contributions: Contributions to open-source projects and a portfolio on GitHub. Machine Learning: Exposure to machine learning concepts and applications is a plus. Problem-Solving: Excellent problem-solving skills and attention to detail. Communication: Strong communication and teamwork abilities.,
Employement Category:
Employement Type: Full timeIndustry: IT Services & ConsultingRole Category: Not SpecifiedFunctional Area: Not SpecifiedRole/Responsibilies: Senior Software Engineer Job in MulticoreWare