[Scons-users] CudaTool

Bill Deegan bill at baddogconsulting.com
Tue Jun 16 17:03:08 EDT 2015


Likely the right way for the Cuda tool to handle this is to mark those
files as SideEffect(), unless they are somehow an input to other tools..

Similar issues happen with env.SharedLibrary() on win32.. You'll get a
.dll, .lib and/or .def file so if you want to use the returned nodes you
may have to filter them for the one you want.
-Bill

On Tue, Jun 16, 2015 at 1:57 PM, William Blevins <wblevins001 at gmail.com>
wrote:

> Bill,
>
> Or is the SConsWiki the original source, so we are the developers?
>
> V/R,
> William
>
> On Tue, Jun 16, 2015 at 4:55 PM, William Blevins <wblevins001 at gmail.com>
> wrote:
>
>> David,
>>
>> All in all, it seems that may have been a question more appropriate for
>> the SCons CUDA tool developer, but looking at
>> https://bitbucket.org/scons/scons/wiki/CudaTool notes section, it
>> appears that those files are only added to the Emitter so that scons -c
>> works for those files.
>>
>> Bill,
>>
>> Can the CUDA emitter simply call Clean( 'item.linkinfo' ) in the emitter
>> to explicitly without needing to return the item itself?  I assume this
>> would work, and it would simply that Builder if no one uses the
>> "*.linkinfo" file.  If you think this will, I will contact the developer.
>>
>> V/R,
>> William
>>
>>
>> On Tue, Jun 16, 2015 at 11:00 AM, Bill Deegan <bill at baddogconsulting.com>
>> wrote:
>>
>>> 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
>>>>
>>>>
>>>
>>> _______________________________________________
>>> 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/3e94d51f/attachment.html>


More information about the Scons-users mailing list