Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Feature request: vectorized finite difference evaluation

Abierto
#210 1 comentario 1 reacción 0 asignados Ver en GitHub

@ChrisRackauckas-Claude ya está trabajando en esto.

Desde el 6/4/2026.

  • #211 de @ChrisRackauckas-Claude — abierto

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
45/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
julia
Área
performance

Línea de trabajo

Comienza leyendo las APIs existentes de FiniteDiff y AutoFiniteDiff y el caso de uso de GPU vectorizado manualmente descrito en el issue. Determina cómo representaría un argumento dims las tangentes de diferencias finitas por filas y cómo debería mapearse la forma de salida a la matriz jacobiana. Se considera terminado cuando una API generalizada pueda realizar la evaluación vectorizada en una sola llamada a función.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

I have an implicit function that is extremely expensive to evaluate. However, it is fully GPU parallelized, in that if a matrix is provided, then each row is evaluated in parallel. For this particular function, the output is a matrix of size = (something, number of rows)

Doing finite differences through this is then easily parallelizable by making each row be a finite difference "tangent" (sorry if I'm misusing that word), so that the full Jacobian can be constructed in one single function evaluation as opposed to many evaluations.

I am doing this now manually, but it would be nice if this functionality could be generalized into FiniteDiff. perhaps a dims argument could be provided to AutoFiniteDiff specifying the dimension about which the evaluation is vectorized (in my case across the rows, so dims=1).

Lenguaje dominante
Julia
Estrellas
305
Forks
42
Merge medio
24 min
PR fusionados (30 d)
2

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de JuliaDiff/FiniteDiff.jl

Todos los issues de JuliaDiff/FiniteDiff.jl

Issues similares

Más issues de Julia

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.