[Scons-users] CudaTool

Bill Deegan bill at baddogconsulting.com
Tue Jun 16 11:00:55 EDT 2015


William,

Thanks for the assist, you are correct in your corrections.

Good question about the purpose of the .linkinfo. (They are added in the
cuda tool..)
I did take a course on cuda programming a while back and I"m thinking these
are used to link the native code to code which will run on the GPU hardware.
So while they (I believe) aren't needed in the .a they are used by other
tools in the tool chain.

-Bill

On Tue, Jun 16, 2015 at 7:56 AM, William Blevins <wblevins001 at gmail.com>
wrote:

>
> On Tue, Jun 16, 2015 at 10:29 AM, Bill Deegan <bill at baddogconsulting.com>
> wrote:
>
>> David,
>>
>> How about:
>>
>> foo = env.StaticObject(“foo.cu”,<foo-options>)
>> bar = env.StaticObject(“bar.cu”,<bar-options>)
>>
>> foo_objects = [ x for x in foo if x.str().endswith('.o') ]
>> bar_objects = [ x for x in bar if x.str().endswith('.o') ]
>>
>>
>> env.StaticLibrary(libname, [foo, bar]
>>
>
> I think the about line needs to be env.StaticLibrary(libname,
> [foo_objects, bar_objects] though right?
>
>
>> [Also note your example you added bar-options to env1 instead of env2]
>> I didn't try the code above but that's the general way I'd go about it.
>> Remember that all builders return list of nodes.
>>
>> -Bill
>>
>
> Thanks Bill.
>
> I wasn't 100% sure I understood his question, but even though we have
> given him a workaround I think we have sidestepped a more important
> question.
>
> What are *.linkinfo used for, and if they aren't being used why are they
> being created?  Are linkinfo specific to certain toolchains?
>
> V/R,
> William
>
>
>>
>> On Tue, Jun 16, 2015 at 5:31 AM, David Wade <DAWAD at statoil.com> wrote:
>>
>>>  Hi,
>>>
>>>
>>>
>>> I have been using this nifty bit of python for some time:
>>> https://bitbucket.org/scons/scons/wiki/CudaTool
>>>
>>> Just ran into an issue of finding scons was trying to run “ar rc foo.o
>>> foo.linkinfo bar.o bar.linkinfo” when I tried this:
>>>
>>>
>>>
>>> env1 = env.Clone()
>>>
>>> env2 = env.Clone()
>>>
>>>
>>>
>>> env1.Append(<foo-options>)
>>>
>>> foo = env1.StaticObject(“foo.cu”)
>>>
>>> env1.Append(<bar-options>)
>>>
>>> bar = env2.StaticObject(“bar.cu”)
>>>
>>>
>>>
>>> env.StaticLibrary(libname, [foo, bar])
>>>
>>>
>>>
>>> My workaround has been to comment out references to the “Emitter”
>>> functions in cuda.py … but is this the best thing to do?
>>>
>>>
>>>
>>> Many thanks!
>>>
>>>
>>> *David Wade*
>>> Senior Analyst, Seismic Imaging Development
>>> *ITV SUB RH / HPC Development Team, *Statoil ASA
>>>
>>> *Phone*: +47 97572157
>>> *Email*: *dawad at statoil.com <dawad at statoil.com>*
>>> *Visitor address*: Vassbotnen 23, Forus, Norway
>>>
>>>
>>> Incorporation number: NO 923 609 016 MVA
>>> *www.statoil.com <http://www.statoil.com/>*
>>> Please consider the environment before printing this e-mail.
>>>
>>>
>>>
>>>
>>> -------------------------------------------------------------------
>>> The information contained in this message may be CONFIDENTIAL and is
>>> intended for the addressee only. Any unauthorised use, dissemination of
>>> the
>>> information or copying of this message is prohibited. If you are not the
>>> addressee, please notify the sender immediately by return e-mail and
>>> delete
>>> this message.
>>> Thank you
>>>
>>> _______________________________________________
>>> Scons-users mailing list
>>> Scons-users at scons.org
>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>
>>>
>>
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
>>
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20150616/3d2860c4/attachment-0001.html>


More information about the Scons-users mailing list