Julia good first issues

165 open Julia issues currently match the default 10+ star filter. Scored difficulty: 5,943 at 1/5, 8,722 at 2/5, 12,676 at 3/5, 12,095 at 4/5, 857 at 5/5. This hub uses the same feed as the homepage, limited to repositories whose GitHub language is Julia.

All languages · Browse projects · How to find good first issues · Hacktoberfest 2026

Active projects

Unique repos with open help-wanted issues updated in the last 30 days

Showing 30 of ~165 matching filters (Julia · 10+ stars)

List

Recursive symlink in fonts folder causes precompilation to fail

AI summary

A recursive symbolic link within the user's font directory (`~/.fonts/fonts` pointing to `fonts`) is causing the MathTeXEngine precompilation to fail with an ELOOP error. Removing this specific symlink resolves the compilation issue, but the user is seeking guidance on how MathTeXEngine should handle such recursive symlinks.

help wanted
106
Difficulty
3/5

`Box` - `Ball` intersection in 2D

AI summary

The user is attempting to compute the intersection of a `Meshes.Ball` and a `Meshes.Box` in 2D using the `intersection` function, but is encountering a `StackOverflowError`. They suspect the `intersection` function might not be intended for this specific geometric combination or that there's an issue with its implementation for these types.

help wantedfeature
460
Difficulty
3/5

Control the model time horizon regardless of the input data

AI summary

Users need a way to control the model's time horizon for testing purposes without altering input data. The current workarounds are cumbersome, especially when dealing with multiple years or timeframes. The proposed solution is to add a parameter to truncate representative period profiles for single-year, single-timeframe scenarios and direct users to TulipaClustering.jl for more advanced profile generation.

good first issue
79
Difficulty
2/5

Check/mention permissions in initialization error message

AI summary

The user is encountering an error when trying to use the oneAPI package in Julia, stating that no compatible driver implementation was found despite their hardware appearing to be supported. The error message directs them to check the Intel Compute runtime's supported platforms list, which they have already done.

good first issueinstallation
218
Difficulty
2/5

Add `printf` support

AI summary

This issue proposes adding `printf` support to the kernel, as a replacement for string interpolation. The goal is to prevent users from using string interpolation within the kernel, likely for performance or safety reasons. This suggests a need for a more controlled and potentially more efficient output mechanism.

help wantedkernels
435High-Performance Computing · Heterogeneous Programming
Difficulty
3/5

Accept static sizes as keyword arguments

AI summary

This issue proposes to allow static sizes for `ndrange` and `workgroupsize` to be passed as keyword arguments directly to the kernel function, similar to how it's already supported for kernel closures. This change aims to improve code readability by making the intent of these arguments more explicit.

good first issuekernels
435High-Performance Computing · Heterogeneous Programming
Difficulty
2/5

KernelAbstractions <-> CPU <-> CUDA terminology/API table

AI summary

This issue proposes creating a "Rosetta Stone" table in the documentation to help users transition from CUDA to KernelAbstractions. The table would map CUDA API concepts and syntax to their KernelAbstractions and CPU equivalents, facilitating quicker adoption of KernelAbstractions by leveraging existing CUDA knowledge. The author also suggests potential terminology improvements for memory allocation within KernelAbstractions.

documentationgood first issuehelp wanted
435High-Performance Computing · Heterogeneous Programming
Difficulty
2/5

`KA.copyto!` between gpu arrays not tested.

AI summary

This issue highlights a lack of test coverage for the `KA.copyto!` function when copying data between GPU arrays. The absence of these tests has led to a bug in Metal.jl, demonstrating the importance of comprehensive testing for such operations.

good first issueruntime
435High-Performance Computing · Heterogeneous Programming
Difficulty
2/5

Implement `KernelAbstractions.get_backend(::Memory{Float64})`

AI summary

The user wants to implement a `get_backend` function for the `Memory` type in KernelAbstractions. This is needed to allow KernelAbstractions to work with `FixedSizeArrays`, which use `Memory` as their parent type. The proposed solution is a simple addition to the KernelAbstractions library.

good first issueruntime
435High-Performance Computing · Heterogeneous Programming
Difficulty
1/5

Native Windows support

AI summary

This issue addresses the lack of native Windows support, currently relying on WSL. The primary challenge is linking C++ libraries built with MinGW to those with MSVC ABIs, which are incompatible. Potential solutions involve using clang-cl, hoping for MinGW-compatible Intel binaries, or Intel providing C APIs.

help wantedlibrariesupstreaminstallation
218
Difficulty
4/5

Support for qr factorizations

AI summary

The user is encountering a `MethodError` when trying to convert the `Q` factor from a QR decomposition of a `JLArray` back into a `JLArray`. This indicates that the `JLArray` type does not have a suitable constructor to handle the `QRCompactWYQ` type returned by the `qr` function.

enhancementgood first issue
455
Difficulty
2/5

Stable docs out of date

AI summary

The stable documentation for GPUArrays.jl is not updating and remains stuck at version 2.0.1. This suggests a potential issue with the documentation generation or CI process that deploys the stable docs.

good first issuedocumentationci
455
Difficulty
2/5

Better error for map! misuse

AI summary

This issue proposes improving the error message when `map!` is misused with a single array argument, as it currently provides a generic error. The goal is to make the error more informative, especially in the context of GPU arrays where the error can be more complex and less intuitive.

good first issuearrays
455
Difficulty
2/5

`mean` can overflow on integer inputs

AI summary

This issue reports a potential overflow when calculating the mean of integer inputs. The problem is similar to a previously addressed issue in the Statistics.jl package, and a fix is proposed based on that previous solution.

good first issuearrays
455
Difficulty
2/5

Basic vector functionality (push, append, etc)

AI summary

This issue requests the implementation of basic vector functionalities like 'push' and 'append' for GPUArrays.jl. The current implementation in the linked file lacks a buffer, suggesting a need to add this fundamental component for these operations.

good first issuearrays
455
Difficulty
3/5

[Feature Request] Determinant Function

AI summary

This is a feature request to add a determinant function for matrices that can be executed on the GPU. Currently, such functionality is missing, and the user finds it desirable for their workflow.

good first issuearrayslibraries
1.4K
Difficulty
3/5

lmul!(::LinearAlgebra.Givens, ::CuArray) mapping to cublasXrot?

AI summary

The user proposes adding a specialization for `lmul!(::LinearAlgebra.Givens, ::CuArray)` to leverage the `cublasXrot` function. This would optimize the performance of frequent Givens rotations on CUDA arrays within time-stepping algorithms.

good first issuearrayslibraries
1.4K
Difficulty
3/5

Support for matrix exp

AI summary

The user is encountering a `ReadOnlyMemoryError` when trying to compute the matrix exponential (`exp(A)`) of a CuArray in Julia. This error also occurs for matrix division (`A \ cu(randn(n))`). The user is seeking to understand the effort required to support such LinearAlgebra functions on CuArrays and is looking for guidance as a beginner.

good first issuearrayslibraries
1.4K
Difficulty
3/5

Add Statistics functions

AI summary

This issue proposes adding several missing statistical functions to a Julia package, building upon existing implementations in Base Julia and CUDA.jl. The remaining tasks include implementing `median`, `middle`, and `quantile`, with specific considerations for scalar operations and sorting.

help wantedgood first issuearrays
1.4K
Difficulty
3/5

inv or logdet for symmetric matrices

AI summary

This issue proposes implementing `logdet` and `inv` functions for symmetric matrices on CUDA devices by leveraging low-level CUSOLVER functions. The author provides example implementations using Cholesky decomposition and suggests an alternative using LU decomposition, noting that further improvements are possible.

good first issuearrayslibraries
1.4K
Difficulty
3/5

missing kernel for Base.unique

AI summary

The user is encountering an error when trying to use the `unique` function on a `CuArray` (GPU array) in Julia. The error message indicates that scalar indexing is disallowed, which is a common issue when GPU-accelerated functions are not properly implemented to avoid CPU-based iteration. This suggests that the `unique` function's implementation for `CuArray` is not fully optimized for the GPU.

good first issuearrays
1.4K
Difficulty
3/5

Constructing shared memory on the CPU should fail

AI summary

When an array allocated in GPU shared memory is passed to a kernel and accessed from the CPU, an illegal memory access error occurs. This error is only surfaced after the kernel has compiled and run, and a subsequent CUDA operation like `CUDA.synchronize()` is performed.

good first issuekernels
1.4K
Difficulty
3/5

Color the output of `@device_code_sass`

AI summary

This issue requests adding syntax highlighting to the output of the `@device_code_sass` macro in Julia. The goal is to make the output more readable and visually similar to the highlighted output of `@code_native`, which is currently lacking color.

good first issuekernels
1.4K
Difficulty
2/5

Warn about unsupported CUSPARSE functionality

AI summary

This issue proposes adding explicit error handling for unsupported CUSPARSE operations within the CUDA.jl library. Currently, the library silently allows these unsupported operations, leading to bugs. The suggestion is to throw a clear error message to inform users when they attempt to use functionality not supported by CUSPARSE.

good first issuelibraries
1.4K
Difficulty
2/5

Exponential of CuArray

AI summary

The user is encountering an error when trying to compute the exponential of a CuArray (GPU-resident matrix) using CUDA.jl. The error message suggests an issue with accessing CPU addresses of CuArrays, indicating a potential incompatibility or bug in the `CUDA.exp` function or its underlying implementation for GPU arrays.

good first issuearrayslibraries
1.4K
Difficulty
3/5

Expose `prmt` PTX intrinsic

AI summary

This issue requests the exposure of the `prmt` PTX intrinsic in CUDA.jl, which is currently missing the sign extension capability present in the native `prmt` instruction. The user has provided a manual implementation using LLVM's `@asmcall` and suggests a new function named `prmt` for this purpose.

good first issuekernels
1.4K
Difficulty
3/5

CUBLAS: error functions

AI summary

This issue proposes updating the CUBLAS library to utilize `cublasGetStatusString` and similar functions for error reporting. This change is recommended for recent CUDA toolkits to improve how errors are handled and communicated.

good first issuelibraries
1.4K
Difficulty
2/5

Support general eltypes in matrix factorizations (LU, QR, Cholesky)

AI summary

This issue proposes extending matrix factorization functions (LU, QR, Cholesky) to support a wider range of element types beyond `CublasFloat`. The suggested approach is to promote unsupported types to a suitable CUDA-compatible type (like Float32 instead of Float64) during internal copying, improving performance for CUDA devices. This functionality is already partially implemented for other linear algebra operations.

good first issuelibraries
1.4K
Difficulty
3/5

Option for deterministic sparse matrix vector multiplication

AI summary

This issue requests an option to ensure deterministic results for sparse matrix-vector multiplication (SpMV) on CUDA GPUs. The user has identified potential CUSparse algorithms (`CUSPARSE_SPMV_COO_ALG2` or `CUSPARSE_SPMV_CSR_ALG2`) that could achieve this, but the current CUDA.jl wrapper function for `mv!()` doesn't expose a way to select these algorithms. The core problem is how to pass the desired algorithm choice through the CUDA.jl API to the underlying CUSparse library.

good first issuelibraries
1.4K
Difficulty
3/5

Also browsing: Python , TypeScript , JavaScript