Skip to content

Office Hours (2026-10-13)聽#166

Open
Open

Description

@github-actions

馃専 Join Us for Weekly Office Hours! 馃専

Have questions about stdlib? Need help fixing a bug, figuring out what to do next, or just looking for feedback? Join our weekly office hours to connect with project maintainers, stay updated on the latest project news, and chat with other community members. This is a great opportunity to ask questions, share ideas, and engage directly with the stdlib team.

Everyone is welcome鈥攄rop in and say hello!

Time

UTC Tue 13-Oct-2026 14:30 (02:30 PM):

Timezone Date/Time
US / Pacific Tue 13-Oct-2026 07:30 (07:30 AM)
US / Mountain Tue 13-Oct-2026 08:30 (08:30 AM)
US / Central Tue 13-Oct-2026 09:30 (09:30 AM)
US / Eastern Tue 13-Oct-2026 10:30 (10:30 PM)
EU / Western Tue 13-Oct-2026 15:30 (03:30 PM)
EU / Central Tue 13-Oct-2026 16:30 (04:30 PM)
EU / Eastern Tue 13-Oct-2026 17:30 (05:30 PM)
Moscow Tue 13-Oct-2026 17:30 (05:30 PM)
Chennai Tue 13-Oct-2026 20:00 (08:00 PM)
Hangzhou Wed 14-Oct-2026 22:30 (10:30 PM)
Tokyo Wed 14-Oct-2026 23:30 (11:30 PM)
Sydney Wed 14-Oct-2026 01:30 (01:30 AM)

or in your local time:

Links

Joining the meeting

Agenda

  • Have specific things to discuss? Please comment in the issue thread below to add specific items to the agenda.

Activity

  1. added
    Office HoursIssue announcing office hours and soliciting associated agenda items.
    on Oct 6, 2026
  2. kgryte commented on Oct 12, 2026

    @kgryte
    Member

    This week's office hours will be held two hours earlier than usual, and I have updated the OP above accordingly.

  3. AryanSharma48 commented on Oct 13, 2026

    @AryanSharma48

    A few discussion points from my side:

    • Loss functions update: Synced with nakul and opened initial forward-pass PRs (e.g. squared-error) matching the existing gradient architecture.
    • Float32 ML pipeline scoping: Audited missing float32 packages across the monorepo; proposing a scoped tracking issue for ML loss & activation primitives while scoping out the Remez/minimax math backlog.
    • GELU & SiLU proposals: Finalizing namespace and numerical stability designs (erfc formulation, gelu.tanh, gelu.quick, and math/base/special/silu).
  4. Erennn7 commented on Oct 13, 2026

    @Erennn7

    PR review on the C implementation for #16105

  5. batpigandme commented on Oct 13, 2026

    @batpigandme
    Member

    AI-Generated Summary

    Caution

    These notes are likely imperfect, especially when it comes to spelling/function/package names

    Meeting Purpose

    Review open PRs and align on API design and implementation strategy.

    Key Takeaways

    • FFT PR #16089 requires a full refactor. The current implementation is 1D-only and inefficient, using manual buffer manipulation instead of the ndarray API's batching and optimized kernels.
    • Scalar parameters for native C implementations must be typed. To ensure safe, direct calls to native code, scalar parameters like k in ndarray-ctril must be explicitly typed as Int32Array, not ndarray-generic.
    • GELU approximations will be split into separate packages. To maintain a clean API, specialized approximations (tanh, quik) will live in their own packages (e.g., gelu-tanh) within the mathbase-special/fast namespace.
    • FFT API naming will be standardized. The API will use FFT for complex and RFFT for real transforms, with IFFT and IRFFT for inverses, replacing the ambiguous F (forward) and B (backward) suffixes.

    Topics

    FFT Implementation Refactor (PR #16089)

    • Problem: The current implementation is 1D-only and uses manual buffer manipulation, which is inefficient and prevents batch processing over multi-dimensional arrays.
    • Solution: Refactor the PR to use the ndarray API as a "recipe" for stitching together operations. This leverages optimized kernels for batching and avoids manual loops.
    • Refactor Steps:
      1. Workspace: Allocate a 1D workspace array, then broadcast its batch dimensions to match the input array.
      2. Input Copy: Use ndarray-base/assign to copy the input data into a slice of the output array.
      3. Computation: Pass the reinterpreted output array and the broadcasted workspace array to the base.js kernel.
      4. Post-processing: Use ndarray operations (assign, fill, scale) for cleanup (e.g., zeroing imaginary components).
    • Blocker: The ndarray-base/scale package is needed for post-processing. Athan will review the existing PR for it to unblock this work.

    FFT API Naming Standardization

    • Problem: The current F (forward) and B (backward) suffixes are ambiguous and inconsistent with common conventions.
    • Decision: Standardize on explicit names for clarity.
      • Complex: FFT (forward), IFFT (inverse)
      • Real: RFFT (forward), IRFFT (inverse)
    • Rationale: This aligns with conventions in libraries like MATLAB and Julia.
    • Documentation: The PR description will summarize this decision and its rationale. A formal mapping will be added to the NumPy migration guide later.

    Handling Scalar Parameters in Native C Implementations

    • Problem: For native C implementations, passing a generic ndarray for a scalar parameter (e.g., k in ndarray-ctril) is unsafe and requires inefficient casting.
    • Solution: Explicitly type scalar parameter arrays as Int32Array (or another appropriate integer type).
    • Rationale: This allows for direct, safe calls to native C functions without casting, improving performance and reliability.
    • Action: Yug will implement this fix for ndarray-ctril. Ujjwal will then help propagate the pattern to other affected PRs.

    GELU Package Structure

    • Problem: Multiple GELU approximations were planned for a single package, which creates an unclear API.
    • Decision: Split approximations into separate, named packages.
      • Base: gelu (textbook formula)
      • Approximations: gelu-tanh, gelu-quik (using the canonical quik name from VLLM/Mojo)
    • Location: These approximation packages will reside in the mathbase-special/fast sub-namespace to signal their performance-optimized nature, which may involve reduced accuracy.
    Full transcript

    Full office hours transcript

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Office HoursIssue announcing office hours and soliciting associated agenda items.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions