Illegal instruction in create_zar_ss2.py
detrout opened this issue · 2 comments
Hi I'm trying to test the HCA single cell pipeline on some ENCODE data.
I've gotten to this error both with some single ended single cell data (which required implementing adding several things to your cromwell libraries) and with paired bulk data.
I'm attempting to run this on a Intel(R) Xeon(R) CPU E5420, on Debian testing using cromwell-40.jar and docker 18.09.1
/cromwell-executions/SmartSeq2SingleCell/29f64945-963d-4910-a273-33b90b1dfe1c/call-SmartSeq2ZarrConversion/execution/script: line 39: 14 Illegal instruction python3 /tools/create_zarr_ss2.py --qc_files /cromwell-executions/SmartSeq2SingleCell/29f64945-963d-4910-a273-33b90b1dfe1c/call-SmartSeq2ZarrConversion/inputs/383373632/ENCLB045ZZZ_QCs.csv /cromwell-executions/SmartSeq2SingleCell/29f64945-963d-4910-a273-33b90b1dfe1c/call-SmartSeq2ZarrConversion/inputs/383373632/ENCLB045ZZZ_bait_bias_detail_metrics.csv /cromwell-executions/SmartSeq2SingleCell/29f64945-963d-4910-a273-33b90b1dfe1c/call-SmartSeq2ZarrConversion/inputs/383373632/ENCLB045ZZZ_base_distribution_by_cycle_metrics.csv /cromwell-executions/SmartSeq2SingleCell/29f64945-963d-4910-a273-33b90b1dfe1c/call-SmartSeq2ZarrConversion/inputs/383373632/ENCLB045ZZZ_error_summary_metrics.csv /cromwell-executions/SmartSeq2SingleCell/29f64945-963d-4910-a273-33b90b1dfe1c/call-SmartSeq2ZarrConversion/inputs/383373632/ENCLB045ZZZ_gc_bias.csv /cromwell-executions/SmartSeq2SingleCell/29f64945-963d-4910-a273-33b90b1dfe1c/call-SmartSeq2ZarrConversion/inputs/383373632/ENCLB045ZZZ_pre_adapter_detail_metrics.csv /cromwell-executions/SmartSeq2SingleCell/29f64945-963d-4910-a273-33b90b1dfe1c/call-SmartSeq2ZarrConversion/inputs/383373632/ENCLB045ZZZ_pre_adapter_summary_metrics.csv --rsem_genes_results /cromwell-executions/SmartSeq2SingleCell/29f64945-963d-4910-a273-33b90b1dfe1c/call-SmartSeq2ZarrConversion/inputs/-797728469/ENCLB045ZZZ_rsem.genes.results --output_zarr_path "ENCLB045ZZZ.zarr" --sample_id ENCLB045ZZZ --format DirectoryStore
Hi detrout,
Illegal instruction errors are usually caused because the docker image executables contain an assembly instruction not supported by the CPU you are running on. In this case its probably an AVX2 instruction. The easiest fix for you would be to build the image locally with a new tag, push it to a private repo and change the corresponding docker ="" variable in the wdl.
@kbergin Should be able to advise what are support for older CPUs is.
BW,
N
Hi detrout,
Thanks for the cc, Nick. We are interested in our pipelines being portable to various infrastructures, but we often lack the time we'd love to have to invest in that. If you are interested in forking and making a PR to better support your infrastructure requirements we'd be happy to review it!
Best,
Kylee