ABataev added a comment.

In D99689#2662875 <https://reviews.llvm.org/D99689#2662875>, @jdoerfert wrote:

> In D99689#2662860 <https://reviews.llvm.org/D99689#2662860>, @ABataev wrote:
>
>> In D99689#2662856 <https://reviews.llvm.org/D99689#2662856>, @jdoerfert 
>> wrote:
>>
>>> In D99689#2662852 <https://reviews.llvm.org/D99689#2662852>, @ABataev wrote:
>>>
>>>> In D99689#2662848 <https://reviews.llvm.org/D99689#2662848>, @jdoerfert 
>>>> wrote:
>>>>
>>>>> Can you please show me a test case or explain to me when/how this global 
>>>>> is actually used.
>>>>
>>>> It is passed as an argument to the target region. When libomptarget 
>>>> requests the memory for the firstprivate, it returns the pointer to this 
>>>> const global, which then passed as argument to the kernel.
>>>
>>> So if we use it, why would we disable it?
>>
>> With this  new option you can control how to handle it. You can either 
>> dynamically allocate memory using libomptarget memmanager (default for this 
>> option) or use preallocated constant memory, if you're not going to remove 
>> the var constantness.
>
> I get what the new option does, what I want to know is why we would ever want 
> to disable the constant memory usage. Is it potentially slower or otherwise 
> problematic?

Because you mentioned that it would not work if we would like to use 
`const_cast` to remove constness. It should be faster than the global memory, 
that's why I introduced this feature.

> Also, I am not sure but I imagine the generated code would be better if we 
> would use the constant global directly, or, add the address space to the 
> corresponding kernel argument.

Ye, but it will require some rework in the libomptarget and the compiler 
itself. Instead, I just reused the existing mechanism to allocate the memory in 
the constant pool and use it instead of the global.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99689/new/

https://reviews.llvm.org/D99689

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to