Software Engineer (GPU)

NY

Posted: 02/11/2019 Industry: IT Perm Job Number: 11854576
About The Role:
  • Develop various aspects of the Distributed Ledger Platform.
  • Design and architect GPU optimization solution for accelerating cryptographic functions (hashing, signature verification etc.) using a GPU.
  • Develop OpenCL code to acceleration cryptographic functions.
  • Develop efficient interface code between system software and OpenCL code running on GPU.
  • Participate in System design solutions that maximize the use of GPUs for improving overall system performance.
  • Develop sample applications to demonstrate value and strength of the platform. Sample applications will include web, mobile and embedded development.
  • Assist 3rd party developers in the development of a wide range of applications based on the platform, including financial transactions, gaming and database applications.
  • Be a strong and proficient hands-on programmer, spending 80% of your time coding.

Skills Needed:
  • Excellent programming skills in OpenCL (or CUDA)
  • Deep knowledge of and experience with the Java VM, covering its strengths and weaknesses
  • Proficiency in Java with knowledge of ecosystem of libraries and tools
  • Fluent in tools and methodologies necessary for GPU development both on physical servers as well as in Public clouds.
  • Experience with low-level and embedded system design and system integration
  • Strong grasp of Computer Science fundamentals including concurrency, performance optimization and reusability
  • Familiarity with and interest in mathematical concepts, principles and techniques
  • Systems programming experience including providing services to other software (e.G.Operating systems, computational science applications, game engines and AAA video games, industrial automation and software as a service applications)
  • Geo-distributed database architecture with SQL experience
  • Familiarity with high-performance architectural systems and design patterns
  • Experience in developing libraries and platforms for use and deployment by application developers
  • Strong engineering principles and processes aimed at developing simple, modular and high-quality code
  • Familiarity with test-driven software development processes and continuous integration tools and systems
  • Experience with blockchain (e.G., Bitcoin or Ethereum) and distributed applications is a big plus
Education:
  • Bachelor of Science or Master of Science degree, preferably from a high-credentialed school in Computer Science or similar discipline.
  • The preferred experience with architectural design, but would consider someone with less experience with the right combination of skills.

Ingrid Martinez

Apply Online

Send an email reminder to:

Share This Job:

Related Jobs:

Login to save this search and get notified of similar positions.