AXPY looks bad especially on MacOS (M4)
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- c, macos
- Domínio
- performance
Direção de pesquisa
Comece reproduzindo o benchmark de convolução 2-D relatado e fazendo o profiling do loop de convolução mostrado na issue, com foco nas chamadas a daxpy. Compare os resultados do OpenBLAS com o Apple vecLib e com o comportamento x86_64 relatado; considera-se concluído quando o problema de desempenho tiver sido identificado e resolvido, com evidências do benchmark mostrando a melhoria.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
I am doing some benchmarking on 2d convolution in octave and e.g. for simple benchmark like that:
r = ones (1, 5e4);
tic; x1 = conv (r, r); time_row_conv = toc
On MacOS (M4) the timing for OpenBLAS is 3.66 s), and for APPLE veclib it is 0.1 s.
On x86_64 linux (Ryzen 3950x) it is also a couple seconds (and pretty much the same as NETLIB).
I will try to get some other Blas on it eventually to compare.
The conv code essentially is:
const F77_INT len = ma - mb + 1; // Pre-calculate this value to avoid temporary
for (F77_INT k = 0; k < na - nb + 1; k++) {
for (F77_INT j = 0; j < nb; j++) {
for (F77_INT i = 0; i < mb; i++) {
double b_val = b[i + j*mb];
daxpy_(&len, &b_val, &a[mb-i-1 + (k+nb-j-1)*ma], &one, &c[k*len], &one);
}
}
}
and profiler shows that it all dominated by daxpy calls.
- Linguagem predominante
- C
- Estrelas
- 7.6k
- Forks
- 1.7k
- Merge médio
- 1d 8h
- PRs com merge (30d)
- 48
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de OpenMathLib/OpenBLAS
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
OpenMathLib/OpenBLAS#6073 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
OpenMathLib/OpenBLAS#6069 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Missing cgroup awarenessAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 52/100
OpenMathLib/OpenBLAS#6059 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
OpenMathLib/OpenBLAS#6029 · 21 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
OpenMathLib/OpenBLAS#6028 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de OpenMathLib/OpenBLAS
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
fastfetch-cli/fastfetch#2628 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
FujiNetWIFI/fujinet-firmware#1736 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 3 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100