@MrPie you thought I used parforvec cool before, you actually use it with a parfor and recreate forpart in parallel : parfor(n=nmin,nmax,X=parvector(n,i,[amin,amax]),c,parforvec(x=c,vecsum(x)==k,d,if(d,seq))) it's better to concat and return later though. and parallel only works faster if you code it right and have enough threads and memory.
parforpart(m,l,p,q)=my(nmin=q[1],nmax=q[2],amin=p[1],amax=p[2],seq=l,k=m);parfor(n=nmin,nmax,X=parvector(n,i,[amin,amax]),c,parforvec(x=c,vecsum(x)==k,d,if(d,eval(seq)))) is probably closer.