[cfe-dev] Parsing CUDA file to AST

jotas julian.maciejewski at gmail.com
Wed Mar 5 13:40:29 PST 2014


Actually I have same  problem as this guy:
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-June/015596.html

I set search patches and now my program sees __global__ etc. but not
blockDim.x or threadIdx.x.
I set flag -D__CUDACC__ in makefile but it doesnt work. setting:
TheCompInst.getPreprocessorOpts().addMacroDef("__CUDACC__"); gives even
more errors like:

/usr/local/cuda-5.5/include/cuda_runtime_api.h:1029:17: warning: unknown
attribute 'cudart_builtin' ignored
extern __host__ __cudart_builtin__ cudaError_t CUDARTAPI
cudaGetLastError(void);
                ^
/usr/local/cuda-5.5/include/host_defines.h:199:22: note: expanded from
macro '__cudart_builtin__'
        __location__(cudart_builtin)
                     ^
/usr/local/cuda-5.5/include/host_defines.h:83:22: note: expanded from macro
'__location__'
        __annotate__(a)









2014-03-05 22:26 GMT+01:00 Eli Bendersky-2 [via Clang Developers] <
ml-node+s42468n4038299h32 at n3.nabble.com>:

>
>
>
> On Wed, Mar 5, 2014 at 4:12 AM, jotas <[hidden email]<http://user/SendEmail.jtp?type=node&node=4038299&i=0>
> > wrote:
>
>> Hi,
>> I ma building rewriter based on clang (based on some tutorial available on
>> the internet).
>> I am loading CUDA file and trying to traverse AST. I got a problem. It
>> doesn't recognize CUDA directives like __global__ etc.
>> I set:
>> TheCompInst.getLangOpts().CUDA = 1;
>> and source search patch to:
>> /usr/include/linux
>>
>> Sould I do someting more?
>>
>> I get an error:
>>
>> :~/Documents/rewriter$ ./rewritersample bigfunc2.c
>> bigfunc2.c:17:1: error: unknown type name '__global__'
>> __global__ void foo22(int *a, int *b, int *c) {
>> ^
>> bigfunc2.c:17:12: error: expected identifier or '('
>> __global__ void foo22(int *a, int *b, int *c) {
>>            ^
>> #include <cuda.h>
>>
>> #define N_WAVE          1024
>> #define LOG2_N_WAVE     10
>>
>
> These are usually defined as preprocessor macros in the CUDA headers,
> something like:
>
> #define __device__ __attribute__((device))
>
> You can take a peek at the public CUDA headers for more information.
>
> Eli
>
>
>
>
> _______________________________________________
> cfe-dev mailing list
> [hidden email] <http://user/SendEmail.jtp?type=node&node=4038299&i=1>
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://clang-developers.42468.n3.nabble.com/Parsing-CUDA-file-to-AST-tp4038287p4038299.html
>  To unsubscribe from Parsing CUDA file to AST, click here<http://clang-developers.42468.n3.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4038287&code=anVsaWFuLm1hY2llamV3c2tpQGdtYWlsLmNvbXw0MDM4Mjg3fC00NjM1OTk5MDA=>
> .
> NAML<http://clang-developers.42468.n3.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: http://clang-developers.42468.n3.nabble.com/Parsing-CUDA-file-to-AST-tp4038287p4038301.html
Sent from the Clang Developers mailing list archive at Nabble.com.



More information about the cfe-dev mailing list