diff --git a/fcl/reco/Stage0/overlay/stage0_run2_wcdnn_gpu_icarus.fcl b/fcl/reco/Stage0/overlay/stage0_run2_wcdnn_gpu_icarus.fcl new file mode 100644 index 000000000..fb9a3977d --- /dev/null +++ b/fcl/reco/Stage0/overlay/stage0_run2_wcdnn_gpu_icarus.fcl @@ -0,0 +1,13 @@ +#include "stage0_run2_wc_icarus.fcl" + +#include "enable_dnn_sp.fcl" + +physics.producers.decon2droiEE.wcls_main.params.wc_device: "gpu" +physics.producers.decon2droiEW.wcls_main.params.wc_device: "gpu" +physics.producers.decon2droiWE.wcls_main.params.wc_device: "gpu" +physics.producers.decon2droiWW.wcls_main.params.wc_device: "gpu" + +physics.producers.decon2droiEE.wcls_main.plugins: [@sequence::icarus_stage0_producers.decon2droiEE.wcls_main.plugins, "WireCellCuda"] +physics.producers.decon2droiEW.wcls_main.plugins: [@sequence::icarus_stage0_producers.decon2droiEW.wcls_main.plugins, "WireCellCuda"] +physics.producers.decon2droiWE.wcls_main.plugins: [@sequence::icarus_stage0_producers.decon2droiWE.wcls_main.plugins, "WireCellCuda"] +physics.producers.decon2droiWW.wcls_main.plugins: [@sequence::icarus_stage0_producers.decon2droiWW.wcls_main.plugins, "WireCellCuda"] diff --git a/fcl/reco/Stage0/overlay/stage0_run2_wcdnn_icarus_overlay.fcl b/fcl/reco/Stage0/overlay/stage0_run2_wcdnn_icarus_overlay.fcl index 53af7c45a..b8ecf7662 100644 --- a/fcl/reco/Stage0/overlay/stage0_run2_wcdnn_icarus_overlay.fcl +++ b/fcl/reco/Stage0/overlay/stage0_run2_wcdnn_icarus_overlay.fcl @@ -1,3 +1,9 @@ #include "stage0_run2_wcdnn_icarus_mc.fcl" -# + #include "enable_overlay_sp.fcl" + +# for gpus, use stage0_run2_wcdnn_gpu_icarus.fcl instead +physics.producers.decon2droiEE.wcls_main.params.wc_device: "cpu" +physics.producers.decon2droiEW.wcls_main.params.wc_device: "cpu" +physics.producers.decon2droiWE.wcls_main.params.wc_device: "cpu" +physics.producers.decon2droiWW.wcls_main.params.wc_device: "cpu" diff --git a/icaruscode/TPC/ICARUSWireCell/icarus/wcls-decode-to-sig-twofaced-dnnroi.jsonnet b/icaruscode/TPC/ICARUSWireCell/icarus/wcls-decode-to-sig-twofaced-dnnroi.jsonnet index 32fe2c59f..b00c02601 100644 --- a/icaruscode/TPC/ICARUSWireCell/icarus/wcls-decode-to-sig-twofaced-dnnroi.jsonnet +++ b/icaruscode/TPC/ICARUSWireCell/icarus/wcls-decode-to-sig-twofaced-dnnroi.jsonnet @@ -19,6 +19,7 @@ // -V signal_output_form=sparse \\ // -J cfg cfg/pgrapher/experiment/uboone/wcls-nf-sp.jsonnet +local wc_device = std.extVar('wc_device'); local epoch = std.extVar('epoch'); // eg "dynamic", "after", "before", "perfect" local reality = std.extVar('reality'); @@ -87,7 +88,10 @@ local params = base { // local tools_maker = import 'pgrapher/common/tools.jsonnet'; local tools_maker = import 'pgrapher/experiment/icarus/icarus_tools.jsonnet'; -local tools = tools_maker(params); +// local tools = tools_maker(params); +local default_tools = tools_maker(params); +local tools = if wc_device == 'gpu' then std.mergePatch(default_tools, + {dft: {type: "TorchDFT", data: {device: wc_device}}}) else default_tools; local wcls_maker = import 'pgrapher/ui/wcls/nodes.jsonnet'; @@ -271,7 +275,7 @@ local ts_u = { name: "dnnroi_u", data: { model: "NNs/plane0.ts", - device: "cpu", + device: wc_device, concurrency: 1, }, }; @@ -281,7 +285,7 @@ local ts_v = { name: "dnnroi_v", data: { model: "NNs/plane1.ts", - device: "cpu", + device: wc_device, concurrency: 1, }, };