Skip to content

Office Hours (2026-06-09) #130

Closed
Closed

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—drop in and say hello!

Time

UTC Tue 09-Jun-2026 16:30 (04:30 PM):

Timezone Date/Time
US / Pacific Tue 09-Jun-2026 09:30 (09:30 AM)
US / Mountain Tue 09-Jun-2026 10:30 (10:30 AM)
US / Central Tue 09-Jun-2026 11:30 (11:30 AM)
US / Eastern Tue 09-Jun-2026 12:30 (12:30 PM)
EU / Western Tue 09-Jun-2026 17:30 (05:30 PM)
EU / Central Tue 09-Jun-2026 18:30 (06:30 PM)
EU / Eastern Tue 09-Jun-2026 19:30 (07:30 PM)
Moscow Tue 09-Jun-2026 19:30 (07:30 PM)
Chennai Tue 09-Jun-2026 22:00 (10:00 PM)
Hangzhou Wed 10-Jun-2026 00:30 (12:30 AM)
Tokyo Wed 10-Jun-2026 01:30 (01:30 AM)
Sydney Wed 10-Jun-2026 02:30 (02: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 Jun 2, 2026
  2. manit2004 commented on Jun 9, 2026

    @manit2004

    Request to review Wald MGF #12399

  3. DivitJain26 commented on Jun 9, 2026

    @DivitJain26
    Member
    1. Why do we not have symmetric complex-valued routines like cspmv in our BLAS implementations?
    2. Please provide some guidance on feat: add array/uint64 stdlib#12562.
    3. How to convert Unit8Array, Uint8ClampedArray, Unit16Array buffer to Unit32Array buffer?
  4. batpigandme commented on Jun 9, 2026

    @batpigandme
    Member

    AI-Generated Summary

    Caution

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

    Meeting Purpose

    Review project progress and guide new development.

    Key Takeaways

    • Uint64 Array Guidance: The Uint64Array constructor should use the Uint64 utility to handle numbers/BigInts, splitting them into high/low words for a Uint32Array buffer. The sole exception is reinterpreting an existing Uint64Array by directly copying its buffer.
    • WebGPU PoC: A proof-of-concept for ASCAL (scalar multiplication) wraps WebGPU's verbose API with CUDA-like helpers. While compute-only benchmarks are comparable to CUDA, the current design's CPU-GPU transfers are a major bottleneck.
    • YouTube Channel Launch: A new YouTube channel will launch with screencasts of feature development and agentic coding to onboard new contributors and showcase maintainer workflows.
    • BLAS Routines: Symmetric complex-valued BLAS routines (e.g., CSPMV) are missing from the master tracking issue. Divit will add them to ensure they are implemented.

    Topics

    BLAS Routines

    • Problem: Symmetric complex-valued BLAS routines are missing from the master tracking issue.
    • Rationale: No technical reason; they were likely overlooked.
    • Action: Divit will add the missing Level 2 routines to the issue for future implementation.

    Uint64 Array Implementation

    • Guidance: The Uint64Array constructor should follow the pattern of ComplexNumberArray and BoolArray.
    • Core Logic:
      • Input Handling: Treat all inputs (numbers, BigInts, typed arrays) as generic collections to be cast.
      • Casting: Use the Uint64 utility to convert each collection element. This handles BigInts and correctly splits values into high and low words.
      • Storage: Store the high and low words in a Uint32Array buffer.
      • Byte Order: Use the indices utility (which leverages assertIsLittleEndian) to determine the correct storage order for the host platform.
    • Sole Exception:
      • Scenario: Input is an existing Uint64Array.
      • Action: Reinterpret its buffer as a Uint32Array and copy it directly. This avoids the casting overhead because the words are already in the correct platform byte order.

    WebGPU Proof-of-Concept

    • Goal: Simplify WebGPU's verbose API with CUDA-like helper functions.
    • Architecture:
      • Shaders: WGSL code for GPU execution.
        • Limitation: No import support → requires duplicating logic (e.g., for custom Float64 arithmetic).
      • Utils: Helper functions abstracting WebGPU boilerplate (e.g., loadShader, uploadBuffer, readbackBuffer).
      • Routines: Simple wrappers for specific operations (e.g., ASCAL).
    • Benchmarking (ASCAL):
      • Setup: Compares WebGPU (via node-webgpu package, which uses DAWN) vs. CUDA.
      • Finding: Compute-only times are comparable.
      • Bottleneck: WebGPU's CPU-GPU transfer overhead is the primary performance limiter.
    • Feedback:
      • API Inspiration: Review three.js and TensorFlow.js for their WebGPU abstractions.
      • Performance Strategy: Adopt a "stay on GPU" model (upload once, chain operations, download results only when needed) to minimize transfer overhead.

    YouTube Channel

    • Goal: Onboard new contributors and showcase maintainer workflows.
    • Content:
      • Screencasts of feature development and agentic coding.
      • Potential future content: live PR reviews.
    • Status: Raw video material is being polished for publication.
    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