I think you may have 2 things wrong. First, the yml isn’t indented correctly. script and batch_connect should be on the same indent (0th indent). See that below.
Secondly, I think the cli argument for cores in SLURM is -c --cpus-per-task. Though I could be wrong on that, I just quickly checked the docs, so I don’t know that for sure; you may need to tweak that or could be more familiar with SLURMs cli than me. What you’ve listed above looks like Torque’s cli.
batch_connect:
template: "basic"
# script has same indent as batch_connect
script:
# I think this is the slurm cli for nodes (-N) and cpus (--cpus-per-task)
native:
- "-N <%= bc_num_slots.blank? ? "1" : bc_num_slots.to_i %>"
- "--cpus-per-task=<%= ncpus %>"
Hope that helps!