I had developed a kernel that would do option pricing using trinomial-tree (its ok not to know what this means).
It is enough to know that my program has 2 inputs.
NUM_OPTIONS and NUM_STEPS.
NUM_STEPS determines the size/time complexity of the problem
NUM_OPTIONS tells how many such options need to be solved.
I spawn “NUM_OPTIONS” amount of blocks and each block evaluate the corresponding option.
Now, I find that sometimes my program behaves in-consistently for certain option sizes.
With 100 as NUM_OPTIONS and 16,000 as NUM_STEPS, my program works fine
everytime I execute.
With 200 as NUM_OPTIONS and 16,000 as NUM_STEPS, my program works
in-consistently. Sometimes it works and sometimes it just returns 0 after what
seems like a hang.
All the in-consistent case executes for more than 8 seconds… Sometimes, I get correct results and sometimes not. Sometimes, Iget correct results even after 11 or 12 seconds. I am running under Windows XP.
All option-evaluation done within 5 seconds are stable and consistent.
Has this got something to do with the watchdog ? Kindly enlighten me.