1 Reply Latest reply on Nov 4, 2008 12:17 PM by jski

    Problem with brcc?

    jski

      I am trying to build double_precision_optimized_matmult with a call to cblas_dgemm(...) from Intel's MKL to compare GPU vs CPU times. I need to use MKL_INT, CBLAS_ORDER, and CBLAS_TRANSPOSE which are #define'd in mkl_types.h. Unfortunately I can't remedy this by editing config.mk and/or main.mk in /usr/local/amdbrook/samples/utils/build. Apparently the brcc compiler/preprocessor rejects MKL_INT, CBLAS_ORDER, and CBLAS_TRANSPOSE before the C-preprocessor (via g++) is ever invoked - even though I #include <mkl_types.h>. How can I get brcc to see MKL_INT, CBLAS_ORDER, and CBLAS_TRANSPOSE #define'd in mkl_types.h?

      ---jski

       

        • Problem with brcc?
          jski

          Responses from the Stream Development team:

           

          "I think the current version of brcc doesn’t gracefully handle preprocessor directives. If you need access to predefined values in Brook code, you might want to work around it using preset variables."

           

          "In 1.3, you'll have access to a C++ API and this will allow you to more easily separate your code into kernel code in .br files and non-kernel code in .cpp files. Then, you should be able to use preprocessor directives normally in non-kernel code because those pieces of code will not need to go through brcc."

           

          ---jski