If I had to run NPV simulations for a portfolio comprising 100s of swaps, can I “turn on” multithreading capabilities of the underlying QuantLib libraries? Or does the ObservationModel parameter in ore.xml controls this somehow? I have a machine with multiple cores and I am not sure ORE is making full use of it.
ORE is a single threaded library, so 100 swaps will be done sequentially. QuantLib itself is not threadsafe which is the main reason for this. There are other solutions, based on process based parallelisation.