Smile 1.1 VC7 Optimization

The engine.
Post Reply
matheuseel
Posts: 5
Joined: Wed Mar 12, 2008 12:08 pm

Smile 1.1 VC7 Optimization

Post by matheuseel »

Hello,

I am working with Smile right now, on a basis that I get real-time data, process them and than Set evidences to a pre-made Network to get a result.
The thing is that for this project I can't afford a better processor, and calling the smile functions that I use are making the program run slow, and miss data because of the computing time.

Basically I just use the GetNode(), Value() , SetEvidence(), ClearAllEvidence(), UpdateBeliefs() , LinkTo() and UncheckedValue(), and all stantard algorithms and values.

I wish to know if there is a way to decrease my computing time, maybe optimizing smile, taking out some things, because I don't use influence or decision, and than making the library lighter for my pc.

Appreciate your attention,

Matheus
shooltz[BayesFusion]
Site Admin
Posts: 1417
Joined: Mon Nov 26, 2007 5:51 pm

Re: Smile 1.1 VC7 Optimization

Post by shooltz[BayesFusion] »

matheuseel wrote:I wish to know if there is a way to decrease my computing time, maybe optimizing smile, taking out some things, because I don't use influence or decision, and than making the library lighter for my pc.
There's not much you can do wrt to memory used by SMILE code itself (which shouldn't be an issue for any PC running 32-bit Windows anyway). You may try to call DSL_network::CallBNAlgorithm instead of DSL_network::UpdateBeliefs if your models do not use influence diagram features.

If you're only interested in beliefs of subset of nodes, make them targets in GeNIe (use 'Set Target' command from node context menu) or, if you create the model programatically, call DSL_network::SetTarget for selected nodes. This can improve the performance on some models.

You can send me the private message with your code/network - I can profile the program to get the idea where exactly SMILE spends most of the time.
Post Reply