
Dear List, I am trying to parallelize RSA encryption and decryption by using below manner, but when I run executable output file with "+RTS -s -N2" command on Windows 7, output stats say 4 sparks are being created however none of them converted into real OS threads. -- SPARKS :4 (0 converted, 4 pruned) -- I was thinking that the problem could occur due to lack of forcing parallelization but, as far as I know 'rdeepseq' works for that aim. Briefly, I could not solve the issue why parallelization was not being implemented. I would be appreciated if any of you shed a light on the issue that I missed. Here is the mentioned part of code: split4ToEnc :: RSAPublicKey -> [Integer] -> [Integer] split4ToEnc (PUB n e) [] = [] split4ToEnc (PUB n e) (x:xs) = ((ersa (PUB n e) secondPart2) ++ (ersa (PUB n e) secondPart1) ++ (ersa (PUB n e) firstPart2) ++ (ersa (PUB n e) firstPart1)) `using` strategy where firstPart1 = fst (Main.splitAt((length (x:xs)) `div` 4) (fst(Main.splitAt ((length (x:xs)) `div` 2) (x:xs)))) firstPart2 = snd (Main.splitAt((length (x:xs)) `div` 4) (fst(Main.splitAt ((length (x:xs)) `div` 2) (x:xs)))) secondPart1 = fst (Main.splitAt((length (x:xs)) `div` 4) (snd(Main.splitAt ((length (x:xs)) `div` 2) (x:xs)))) secondPart2 = snd (Main.splitAt((length (x:xs)) `div` 4) (snd(Main.splitAt ((length (x:xs)) `div` 2) (x:xs)))) strategy res = do a <- rpar (ersa (PUB n e) (firstPart1) `using` rdeepseq) b <- rpar (ersa (PUB n e) (firstPart2) `using` rdeepseq) c <- rpar (ersa (PUB n e) (secondPart1) `using` rdeepseq) d <- rpar (ersa (PUB n e) (secondPart2) `using` rdeepseq) rdeepseq res Thanks a lot, Burak.