- 
                Notifications
    You must be signed in to change notification settings 
- Fork 1
Open
Labels
Not AcceptedambassadornominationAutomatically tags all nomination issues for easy filtering.Automatically tags all nomination issues for easy filtering.
Description
Select one:
- I am nominating myself for the PyTorch Ambassador Program.
- I am nominating someone else to become a PyTorch Ambassador.
Please confirm that the nominee meets the following requirements:
- The nominee is 18 years of age or older.
- The nominee agrees to abide by the PyTorch Code of Conduct.
- The nominee agrees to comply with the Linux Foundation Antitrust Policy.
- The nominee meets at least one of the qualifications listed in the PyTorch Ambassador Program Requirements.
Nominee Name
Eikan Wang
Nominee Email
Nominee's GitHub or GitLab Handle
EikanWang
(Optional) Organization / Affiliation
Intel Corporation
City, State/Province, Country
No response
Your Name
No response
Your Email (Optional)
No response
How has the nominee contributed to PyTorch?
- An active contributor to PyTorch repositories (e.g., commits, PRs, discussions).
- A speaker at PyTorch events or workshops.
- A PyTorch user group organizer or meetup host.
- A researcher or educator using PyTorch in academic work or training.
- An active leader in the PyTorch community with at least one year of experience in:
- Organizing events (virtual/in-person).
- Speaking at AI/ML conferences.
- Mentoring others in PyTorch.
- Creating technical content (e.g., blogs, videos, tutorials).
🏆 How Would the Nominee Contribute as an Ambassador?
Eikan is PyTorch TAC member and has played a critical role in enhancing the C++/OpenMP backend for TorchInductor, delivering significant performance improvements for key models and benchmarks. He designed a new pluggable backend registration mechanism that simplifies the process for new hardware integration. Additionally, he contributed to "Eager through torch.compile," enabling automatic kernel generation for ATen operations, and extended support for Intel GPUs within Inductor using Triton. 
In addition, Eikan has been a key contributor to Intel GPU integration, defining its roadmap and aligning it with PyTorch's design philosophy. As the lead architect, he has been deeply involved in all Intel GPU components, including runtime, eager mode, and torch.compile, and has reviewed almost all Intel GPU-related PRs. Eikan’s work extends beyond Intel GPU, contributing to the generalization of the PyTorch runtime for broader accelerator support and working on making PyTorch’s distributed framework device-neutral. 
Torch.compile
• C++/OpenMP Backend: Eikan collaborated closely with Jason(@jansel), Bin(@desertfire), and Horace(@Chillee) to design and implement the C++/OpenMP backend of Inductor. One of his notable achievements was optimizing the TorchInductor C++/OpenMP backend, resulting in a significant improvement in the performance of the HF model from 0.97x to 1.2x prior to the first torch.compile announcement in PT 2.0. Eikan’s enabling work was featured in Jason’s presentation at the PyTorch Conference 2022. After the PT 2.0 announcement, Eikan continued to work with community contributors to enhance the Dynamo benchmarks through vectorization and further maturation of the C++/OpenMP backend - CPU backend performance update and deep dive on key optimizations
    - Single-Socket Multi-threads, torchbench: 1.39x, huggingface: 1.20x, timm_models: 1.73x
    - Single-core Single-thread, torchbench: 1.29x, huggingface: 1.15x, timm_models: 1.37x.
• Pluggable Inductor Backend: Eikan designed and implemented a new mechanism for registering hardware backends within Inductor (RFC). This mechanism allows new hardware to register its backend-specific implementation at runtime, leveraging the fusion capabilities and optimizations of Inductor to simplify the process of supporting new devices. Compared to the Dynamo backend approach, this greatly reduces design and implementation complexity. The main focus for a new backend is on generating optimal code for specific devices. Eikan introduced this feature as a poster at the PyTorch Conference 2024.
    - Inductor Backend Registration APIs: register_backend_for_device, get_scheduling_for_device, get_wrapper_codegen_for_device
    - AOTInductor Registration APIs: RegisterAOTIModelRunner,  getAOTIModelRunnerRegistry
• Eager Through torch.compile: This approach aims to automatically generate kernels for ATen operations using torch.compile, removing the need for backend-specific implementations for each operation. Eikan collaborated closely with Jason and Bin to finalize the design(RFC) and implement the static shape functionalities. For PyTorch 2.5, the registration API(_impl_with_aoti_compile) will be exposed to users for new hardware backend eager mode support. Eikan introduced the feature as a poster at the PyTorch conference 2024.
• Intel GPU Backend: Eikan successfully extended Inductor to support Intel GPUs on top of Triton, enhancing and democratizing the PyTorch hardware ecosystem. With this support, PyTorch on Intel GPUs demonstrates promising performance and an improved out-of-the-box experience, significantly broadening PyTorch's applicability. Eikan has been actively involved in the Triton community, initiating support for Intel GPUs in Triton. His contributions laid a strong foundation for the Intel GPU backend within Inductor, and he enabled the Intel GPU backend by reusing much of the design and implementation of the existing Triton backend. Additionally, Eikan led efforts to generalize GPU accelerator support in Inductor by designing the DeviceInterface for GPU accelerators, which serves as a preliminary step towards a more generalized accelerator runtime in PyTorch. He delivered a presentation on the Intel GPU backend at the PyTorch Conference 2023.
Intel GPU
Eikan has played a pivotal role in Intel GPU integration, contributing to its design, development, and integration within the PyTorch ecosystem.
As the lead architect, Eikan has been instrumental in defining the roadmap for Intel GPU integration and aligning it with PyTorch's overall vision. He has actively participated in discussions about integration strategies and has been deeply involved in every aspect of the Intel GPU components, such as eager mode, torch.compile, runtime, profiler, CI/CD, and more. Eikan has reviewed almost all Intel GPU-related PRs, ensuring that all contributions are aligned with PyTorch’s design philosophy, as outlined in the Intel GPU Enabling Status and Feature Plan. 
Beyond Intel GPU-specific efforts, Eikan has been proactive in generalizing the Intel GPU runtime. He has closely collaborated with Alban@alband), Guanye(@guangyey) to generalize the PyTorch runtime for various accelerators. This effort not only facilitates PyTorch's deployment on a wide range of hardware but also simplifies the integration process for different hardware backends.
Additionally, Eikan is working on generalizing PyTorch’s distributed framework to support a variety of distributed backends. The goal is to make PyTorch distributed device-neutral, thereby reducing the effort required to integrate new hardware. Regarding Intel GPU distributed support, Eikan leads the team in adopting a "generalize-first" approach before integrating the Intel GPU distributed backend.
Eikan presented on Intel GPU integration at the PyTorch Conference 2024, where he shared insights on the progress and future plans for Intel GPU support within PyTorch.Any additional details you'd like to share?
Metadata
Metadata
Assignees
Labels
Not AcceptedambassadornominationAutomatically tags all nomination issues for easy filtering.Automatically tags all nomination issues for easy filtering.