Tag: COMPILER-OPTIMIZATION
Estoy tratando de entender algunos conceptos básicos sobre cómo vectorizar mi código para mejorar su rendimiento. Pregunta: Con “-O0” intenté utilizar la directiva OpenMP SIMD de la siguiente manera: struct aligned_free { inline void operator()(double* ptr) { if (ptr != nullptr) { std::free(ptr); } } }; using unique_ptr_aligned_double = std::unique_ptr<double, . . . Read more
Estoy tratando de pasar argumentos del compilador al construir con bazel. Quiero desactivar todas las optimizaciones para que Bazel pueda construir un proyecto simple. De hecho, logré hacer esto sin bazel utilizando la línea de comandos de Windows con este fragmento de código: Sin bazel: // main.c #include <iostream> class . . . Read more
Mientras redactaba una respuesta sobre cómo los compiladores deben tratar volatile, creo que puede haber encontrado un error en gcc y me gustaría que alguien lo verifique antes de informarlo. Escribí una función simple como esta: int foo (int a, int b, int c) { b = a + 1; . . . Read more
Esta es probablemente una pregunta estúpida, hecha por ignorancia. Aquí hay un enlace que describe la predicción de ramificación. Dado que parece que esto no sería eficiente en CPUs tontas, ¿por qué el compilador no podría generar simplemente una tabla de saltos de dos elementos? Echa un vistazo al siguiente . . . Read more
Estoy trabajando en proyectos de procesamiento de audio en tiempo real que se construyen sobre el marco de trabajo JUCE. Para acelerar algunos algoritmos computacionalmente pesados con instrucciones SIMD, utilizamos el envoltorio SIMDRegister de JUCE, que es compatible con múltiples plataformas. Esto lleva al aumento deseado de rendimiento en comparación . . . Read more