You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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).
Activity
manit2004 commentedon Jun 9, 2026
Request to review Wald MGF #12399
DivitJain26 commentedon Jun 9, 2026
cspmvin our BLAS implementations?array/uint64stdlib#12562.Unit8Array,Uint8ClampedArray,Unit16Arraybuffer toUnit32Arraybuffer?batpigandme commentedon Jun 9, 2026
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
Uint64Arrayconstructor should use theUint64utility to handle numbers/BigInts, splitting them into high/low words for aUint32Arraybuffer. The sole exception is reinterpreting an existingUint64Arrayby directly copying its buffer.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.CSPMV) are missing from the master tracking issue. Divit will add them to ensure they are implemented.Topics
BLAS Routines
Uint64 Array Implementation
Uint64Arrayconstructor should follow the pattern ofComplexNumberArrayandBoolArray.Uint64utility to convert each collection element. This handles BigInts and correctly splits values intohighandlowwords.highandlowwords in aUint32Arraybuffer.indicesutility (which leveragesassertIsLittleEndian) to determine the correct storage order for the host platform.Uint64Array.Uint32Arrayand copy it directly. This avoids the casting overhead because the words are already in the correct platform byte order.WebGPU Proof-of-Concept
importsupport → requires duplicating logic (e.g., for custom Float64 arithmetic).loadShader,uploadBuffer,readbackBuffer).ASCAL).node-webgpupackage, which uses DAWN) vs. CUDA.three.jsandTensorFlow.jsfor their WebGPU abstractions.YouTube Channel
Full transcript
Full office hours transcript