<div dir="ltr"><div>It is not clear to me exactly what you are doing, but I believe in order to use Control.Parallel, you must pass "-threaded" and then some rts options at run time in order to declare options like the number of cores, etc.  It is possible that you are running it in two different ways, threaded while developing the library and non threaded while developing your application.</div><div><br></div><div>I would say that if you can eliminate that from consideration you might get more thorough answers from the haskell-cafe mailing list, as the topic of parallelism is a bit above the beginners list.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 20, 2020 at 8:24 AM Leonhard Applis <<a href="mailto:Leonhard.Applis@protonmail.com">Leonhard.Applis@protonmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Thank you Akhra,<br>
Thank you Sebastian, <br>
<br>
<br>
I appreciate your help and feedback. <br>
<br>
However my Question was maybe not clear enough. <br>
<br>
<br>
So in general my task is perfectly fit for Control.Parallel and <br>
<br>
if I'd make a program including the Code I want I could just put control.parallel in the right places and run the program threaded. <br>
<br>
Lets call this Application A. <br>
<br>
However for separation I'd like to have my primary code, the one which should be run parallel in a separate library, call it Library A. <br>
<br>
Library A should be utilizing Control.Parallel.<br>
I then want to have Application B using Library A with multiple Cores.<br>
<br>
The code of Library A has still all the control.parallel in place which worked perfectly fine when run running Application A threaded. <br>
<br>
When I run Application B only one core seems to be utilized. <br>
<br>
I also don't see any kind of parallel Code in popular frameworks such as QuickCheck2 (which seems very fit for parallel approaches) <br>
<br>
which makes me wonder if what I want is "not possible" the way I want it. <br>
<br>
<br>
I'd like to get Application B (and potential more Application C,D) to utilize library A properly.<br>
<br>
<br>
I am at the moment not looking for mitigations or parallel-enabling frameworks/libraries. <br>
<br>
<br>
thank you in advance and best regards<br>
Leonhard<br>
<br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
</blockquote></div>