On 01/10/2012 09:42 AM, Gilles Louppe wrote:
> It is converted to Fortran order for efficiency reasons. The most
> repeated and consuming operation is the search for split thresholds,
> which is performed column-wise, hence the Fortran ordering.
>
> Gilles
>
>    
Thanks Gilles and Mathieu for the fast answers :)

@Gilles: Is this the operation in ``smallest_sample_larger_than``?

@both: This might be a stupid question but is there really so much 
difference
in indexing continuously or with stride over a C pointer?

I didn't do much CPU optimization in the past so sorry for asking stupid 
stuff ;)

Cheers,
Andy

> On 10 January 2012 09:39, Andreas<[email protected]>  wrote:
>    
>> Hey everybody.
>> Looking a bit into my memory problems, the first thing I noticed
>> is that the "fit" method of BaseDecisionTree converts
>> the data into float32 and Fortran-Style ordering.
>> I haven't paid much attention to that but is that a common pattern?
>> Having float32 seems reasonable and this conversion is also
>> done in the SVMs. But there it is also mentioned explicitly in the docs.
>>
>> Converting the input to Fortran-style ordering seems a bit weird to
>> me, as I thought the convention was that the data is assumed
>> to be C-ordered.
>> Is there an efficiency reason for doing this that can not be
>> circumvented?
>>
>> Another thing I don't like so much is that the conversion
>> into float32 is not very explicit, since a type is defined
>> in the _tree.pyx, then imported into tree.py and used
>> for conversion there.
>> I no-one disagrees I would very much prefer to make
>> the type explicit in tree.py.
>>
>> Any hints on the Fortran style ordering would be very welcome.
>>
>> Thanks,
>> Andy
>>
>> ------------------------------------------------------------------------------
>> Write once. Port to many.
>> Get the SDK and tools to simplify cross-platform app development. Create
>> new or port existing apps to sell to consumers worldwide. Explore the
>> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
>> http://p.sf.net/sfu/intel-appdev
>> _______________________________________________
>> Scikit-learn-general mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
>>      
> ------------------------------------------------------------------------------
> Write once. Port to many.
> Get the SDK and tools to simplify cross-platform app development. Create
> new or port existing apps to sell to consumers worldwide. Explore the
> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
> http://p.sf.net/sfu/intel-appdev
> _______________________________________________
> Scikit-learn-general mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
>    


------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Scikit-learn-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general

Reply via email to