diff --git a/Tools/python/split_layers.py b/Tools/python/split_layers.py
index 58557cc0cccccf84bb71d9950fc43ab43a6184cb..c1172d93ce6ea3ed8f40c952bdca301247f11039 100755
--- a/Tools/python/split_layers.py
+++ b/Tools/python/split_layers.py
@@ -4,6 +4,9 @@ import sys
 import os
 import gdspy
 
+import multiprocessing
+from joblib import Parallel, delayed
+
 orig_box_width=10.
 orig_box_spacing=10.
 
@@ -126,17 +129,8 @@ def generate_gds_file(layout_path,cellname):
 		cell=cell.add(gdspy.Rectangle(p11, p12, 1))
 		cell=cell.add(gdspy.Rectangle(p21, p22, 1))
 		cell=cell.flatten()
-
-		for layername in layer_mapping:
-			ncell=cell.copy(layername,deep_copy=True)
-			thelayers=layer_mapping[layername]
-			ncell=ncell.remove_polygons(lambda pts, layer, datatype: layer not in thelayers)
-			ncell=ncell.add(gdspy.Rectangle(p11, p12, 1))
-			ncell=ncell.add(gdspy.Rectangle(p21, p22, 1))
-			ncell=ncell.flatten(single_layer=1,single_datatype=1)
-			newgdsii=gdspy.GdsLibrary("mask_"+layername)
-			newgdsii.add(ncell)
-			newgdsii.write_gds(layout_path+"/gds/mask_"+layername+".gds")
+		num_cores = multiprocessing.cpu_count() - 2
+		Parallel(n_jobs=num_cores, verbose=50)(delayed(split_task)(p11,p12,p21,p22,cell,layername)for layername in layer_mapping)
 
 	except Exception as e:
 		print("Can't do this:"+e)
@@ -144,6 +138,20 @@ def generate_gds_file(layout_path,cellname):
 	if '-s' in sys.argv:
 		gdspy.LayoutViewer()
 
+
+def split_task(p11,p12,p21,p22,cell,layername):
+	ncell=cell.copy(layername,deep_copy=True)
+	thelayers=layer_mapping[layername]
+	ncell=ncell.remove_polygons(lambda pts, layer, datatype: layer not in thelayers)
+	ncell=ncell.add(gdspy.Rectangle(p11, p12, 1))
+	ncell=ncell.add(gdspy.Rectangle(p21, p22, 1))
+	ncell=ncell.flatten(single_layer=1,single_datatype=1)
+	newgdsii=gdspy.GdsLibrary("mask_"+layername)
+	newgdsii.add(ncell)
+	newgdsii.write_gds(layout_path+"/gds/mask_"+layername+".gds")
+	print(layername)
+
+
 def show_help():
 	print("-n cellname:\tname of the cell to export")
 	print("-l:\t\tswitch to render library cells because default is layout cells")