While I have not tested it myself, unless I'm missing something, I believe you can maintain identical performance while using a higher number of jobs on the ivector extraction code by adding the "--per-utt" option to utils/split_data.sh on line 95 of the diarization/extract_ivectors.sh script.
Splitting up a recording for parallelization for the PLDA scoring and clustering is not trivially possible. The PLDA scoring creates a single matrix with all possible pairwise scores between sliding-window ivectors in a session. Splitting up a recording for multiple jobs will mean you could not compute the PLDA scores between segments across the splits. Similarly, the problem with the clustering code is that it would not be able to merge clusters across splits.
If it is absolutely necessary to split up a single recording to run PLDA scoring and clustering in multiple jobs, I think the most feasible solution would be to split up the recording into multiple temporally-continuous sections and perform scoring and clustering on each section. And then after that, you would have to find a way to map the speaker labels within each section to each other to merge the diarization results per section. It might even be possible without too much work to extract speaker-level ivectors from the per-section diarization results, and then use the existing PLDA scoring and clustering code to then merge those results.
—Matt