# Practice of using parallel programming in numeric libraries

This is a soft, and probably also an opinion based question.

Suppose I am writing a library for numeric linear algebra for the purposes of working with financial data. My goals are:

1. Since I work with big data, I want to make it as fast as possible by using parallel computing.
2. I want my colleagues to use this library without understanding/tweaking the parallelism underneath the functions.

The resulting questions are:

1. Is this a good idea to make parallelism the default behaviour? For instance sum(vector) to parallelise the summation without asking the user.
2. If yes, is there any rule of thumb that would cover the default behaviour of the task split between the processors? I.e. how many processors I should use?

Asking on QuantFinance since I am especially interested on how people in the industry tackle this. Thanks in advance.

They allow setting the number of threads using the function setDTthreads():