VASP executable not found when running Si test workflow

Hello,

I am trying to perform the Si structure optimization test workflow on the Stampede2 cluster, but I am getting a traceback that seems to indicate the vasp executable I thought I specified is not being used. On Stampede2, we have to specify “ibrun vasp_std”,

but the custodian seems to have ended up looking for just “vasp”. This is despite specifying my vasp_cmd in the my_fworker.yaml file. I have copied the excerpt from the launches collection on my fireworks database below. Is there somewhere else I need to

force atomate to use the vasp_cmd I want? Like when I create the workflow?

Best,

Nick Wagner

{

“_id”: {

“$oid”: “598fd760915f24b1bc05eb95”

},

“fworker”: {

“name”: “stampede2”,

“category”: “”,

“query”: “{}”,

“env”: {

“db_file”: “/home1/03229/tg825281/anaconda3/envs/atomate_env/config/db.json”,

“vasp_cmd”: “ibrun vasp_std -n 128”

}

},

“fw_id”: 3,

“launch_dir”: “/scratch/03229/tg825281/block_2017-08-13-04-05-29-301218/launcher_2017-08-13-04-36-49-070734”,

“host”: “c428-064.stampede2.tacc.utexas.edu”,

“ip”: “206.76.200.16”,

“trackers”: [],

“action”: {

“stored_data”: {

“_message”: “runtime error during task”,

“_task”: {

“vasp_cmd”: “vasp”,

“job_type”: “double_relaxation_run”,

“max_force_threshold”: 0.25,

“ediffg”: null,

“auto_npar”: “>>auto_npar<<”,

“_fw_name”: “{{atomate.vasp.firetasks.run_calc.RunVaspCustodian}}”

},

“_exception”: {

“_stacktrace”: “Traceback (most recent call last):\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/fireworks/fireworks/core/rocket.py”, line 253, in run\n m_action = t.run_task(my_spec)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/atomate/atomate/vasp/firetasks/run_calc.py”, line 185, in run_task\n c.run()\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/custodian.py”, line 320, in run\n self._run_job(job_n, job)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/custodian.py”, line 376, in _run_job\n p = job.run()\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/vasp/jobs.py”, line 205, in run\n p = subprocess.Popen(cmd, stdout=f_std, stderr=f_err)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/lib/python3.6/subprocess.py”, line 707, in init\n restore_signals, start_new_session)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/lib/python3.6/subprocess.py”, line 1333, in _execute_child\n raise child_exception_type(errno_num, err_msg)\nFileNotFoundError: [Errno 2] No such file or directory: ‘vasp’\n”,

“_details”: null

}

Hi Nick

From your output, your my_fworker.yaml looks to be set up correctly (the “env” key shows a key called “vasp_cmd” with your desired command). However, the actual workflow isn’t using the env value for the VASP command. If you look at this part: “vasp_cmd”: “vasp” - that means it is going to just directly execute “vasp”. If it instead said “vasp_cmd”: “>>vasp_cmd<<”, that would be an instruction to take the value from env.vasp_cmd key.

I am not sure how you created the workflow in the first place; the default workflows use “>>vasp_cmd<<” as the default. Can you point me to which Si test workflow you are referring to? (where in the code or documentation)

Best,

Anubhav

···

On Sat, Aug 12, 2017 at 10:35 PM, Nicholas Wagner [email protected] wrote:

Hello,

I am trying to perform the Si structure optimization test workflow on the Stampede2 cluster, but I am getting a traceback that seems to indicate the vasp executable I thought I specified is not being used. On Stampede2, we have to specify “ibrun vasp_std”,

but the custodian seems to have ended up looking for just “vasp”. This is despite specifying my vasp_cmd in the my_fworker.yaml file. I have copied the excerpt from the launches collection on my fireworks database below. Is there somewhere else I need to

force atomate to use the vasp_cmd I want? Like when I create the workflow?

Best,

Nick Wagner

{

“_id”: {

“$oid”: “598fd760915f24b1bc05eb95”

},

“fworker”: {

“name”: “stampede2”,

“category”: “”,

“query”: “{}”,

“env”: {

“db_file”: “/home1/03229/tg825281/anaconda3/envs/atomate_env/config/db.json”,

“vasp_cmd”: “ibrun vasp_std -n 128”

}

},

“fw_id”: 3,

“launch_dir”: “/scratch/03229/tg825281/block_2017-08-13-04-05-29-301218/launcher_2017-08-13-04-36-49-070734”,

“host”: “c428-064.stampede2.tacc.utexas.edu”,

“ip”: “206.76.200.16”,

“trackers”: [],

“action”: {

“stored_data”: {

“_message”: “runtime error during task”,

“_task”: {

“vasp_cmd”: “vasp”,

“job_type”: “double_relaxation_run”,

“max_force_threshold”: 0.25,

“ediffg”: null,

“auto_npar”: “>>auto_npar<<”,

“_fw_name”: “{{atomate.vasp.firetasks.run_calc.RunVaspCustodian}}”

},

“_exception”: {

“_stacktrace”: “Traceback (most recent call last):\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/fireworks/fireworks/core/rocket.py”, line 253, in run\n m_action = t.run_task(my_spec)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/atomate/atomate/vasp/firetasks/run_calc.py”, line 185, in run_task\n c.run()\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/custodian.py”, line 320, in run\n self._run_job(job_n, job)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/custodian.py”, line 376, in _run_job\n p = job.run()\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/vasp/jobs.py”, line 205, in run\n p = subprocess.Popen(cmd, stdout=f_std, stderr=f_err)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/lib/python3.6/subprocess.py”, line 707, in init\n restore_signals, start_new_session)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/lib/python3.6/subprocess.py”, line 1333, in _execute_child\n raise child_exception_type(errno_num, err_msg)\nFileNotFoundError: [Errno 2] No such file or directory: ‘vasp’\n”,

“_details”: null

}

You received this message because you are subscribed to the Google Groups “atomate” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/d/msgid/atomate/45e88a9f-e8cf-44c9-b538-5ad74347d213%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Best,
Anubhav

Thanks for your reply. I am following the documentation at https://hackingmaterials.github.io/atomate/installation.html
The test workflow command there is: atwf add -l vasp -s optimize_only.yaml -m mp-149

···

On Sunday, August 13, 2017 at 1:10:39 AM UTC-6, Anubhav Jain wrote:

Hi Nick

From your output, your my_fworker.yaml looks to be set up correctly (the “env” key shows a key called “vasp_cmd” with your desired command). However, the actual workflow isn’t using the env value for the VASP command. If you look at this part: “vasp_cmd”: “vasp” - that means it is going to just directly execute “vasp”. If it instead said “vasp_cmd”: “>>vasp_cmd<<”, that would be an instruction to take the value from env.vasp_cmd key.

I am not sure how you created the workflow in the first place; the default workflows use “>>vasp_cmd<<” as the default. Can you point me to which Si test workflow you are referring to? (where in the code or documentation)

Best,

Anubhav

On Sat, Aug 12, 2017 at 10:35 PM, Nicholas Wagner [email protected] wrote:

Hello,

I am trying to perform the Si structure optimization test workflow on the Stampede2 cluster, but I am getting a traceback that seems to indicate the vasp executable I thought I specified is not being used. On Stampede2, we have to specify “ibrun vasp_std”,

but the custodian seems to have ended up looking for just “vasp”. This is despite specifying my vasp_cmd in the my_fworker.yaml file. I have copied the excerpt from the launches collection on my fireworks database below. Is there somewhere else I need to

force atomate to use the vasp_cmd I want? Like when I create the workflow?

Best,

Nick Wagner

{

“_id”: {

“$oid”: “598fd760915f24b1bc05eb95”

},

“fworker”: {

“name”: “stampede2”,

“category”: “”,

“query”: “{}”,

“env”: {

“db_file”: “/home1/03229/tg825281/anaconda3/envs/atomate_env/config/db.json”,

“vasp_cmd”: “ibrun vasp_std -n 128”

}

},

“fw_id”: 3,

“launch_dir”: “/scratch/03229/tg825281/block_2017-08-13-04-05-29-301218/launcher_2017-08-13-04-36-49-070734”,

“host”: “c428-064.stampede2.tacc.utexas.edu”,

“ip”: “206.76.200.16”,

“trackers”: [],

“action”: {

“stored_data”: {

“_message”: “runtime error during task”,

“_task”: {

“vasp_cmd”: “vasp”,

“job_type”: “double_relaxation_run”,

“max_force_threshold”: 0.25,

“ediffg”: null,

“auto_npar”: “>>auto_npar<<”,

“_fw_name”: “{{atomate.vasp.firetasks.run_calc.RunVaspCustodian}}”

},

“_exception”: {

“_stacktrace”: “Traceback (most recent call last):\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/fireworks/fireworks/core/rocket.py”, line 253, in run\n m_action = t.run_task(my_spec)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/atomate/atomate/vasp/firetasks/run_calc.py”, line 185, in run_task\n c.run()\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/custodian.py”, line 320, in run\n self._run_job(job_n, job)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/custodian.py”, line 376, in _run_job\n p = job.run()\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/vasp/jobs.py”, line 205, in run\n p = subprocess.Popen(cmd, stdout=f_std, stderr=f_err)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/lib/python3.6/subprocess.py”, line 707, in init\n restore_signals, start_new_session)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/lib/python3.6/subprocess.py”, line 1333, in _execute_child\n raise child_exception_type(errno_num, err_msg)\nFileNotFoundError: [Errno 2] No such file or directory: ‘vasp’\n”,

“_details”: null

}

You received this message because you are subscribed to the Google Groups “atomate” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/d/msgid/atomate/45e88a9f-e8cf-44c9-b538-5ad74347d213%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


Best,
Anubhav

Hi Nick

Ok understood. I actually never use “atwf” or directly load workflows from files (I and others call the Python function instead), so I didn’t catch the fact that this method doesn’t really make it easy to set your VASP command to “>>vasp_cmd<<” and just defaults to “vasp”. I will forward this to the relevant people to see if they can design something to help.

In the meantime, you can replace the command in the documentation with:

atwf add -l vasp -p wf_bandstructure -m mp-149

This will add a workflow using the Python function atomate.vasp.workflows.presets.core.wf_bandstructure. You can also add other workflows in that same module, e.g., to run bulk modulus instead run:

atwf add -l vasp -p wf_bulk_modulus -m mp-149

Hope this gets you up and running without issues. As mentioned, we’ll try to get an official “fix” to the docs as soon as possible

···

On Sunday, August 13, 2017 at 7:10:06 AM UTC-7, Nicholas Wagner wrote:

Thanks for your reply. I am following the documentation at https://hackingmaterials.github.io/atomate/installation.html
The test workflow command there is: atwf add -l vasp -s optimize_only.yaml -m mp-149

On Sunday, August 13, 2017 at 1:10:39 AM UTC-6, Anubhav Jain wrote:

Hi Nick

From your output, your my_fworker.yaml looks to be set up correctly (the “env” key shows a key called “vasp_cmd” with your desired command). However, the actual workflow isn’t using the env value for the VASP command. If you look at this part: “vasp_cmd”: “vasp” - that means it is going to just directly execute “vasp”. If it instead said “vasp_cmd”: “>>vasp_cmd<<”, that would be an instruction to take the value from env.vasp_cmd key.

I am not sure how you created the workflow in the first place; the default workflows use “>>vasp_cmd<<” as the default. Can you point me to which Si test workflow you are referring to? (where in the code or documentation)

Best,

Anubhav

On Sat, Aug 12, 2017 at 10:35 PM, Nicholas Wagner [email protected] wrote:

Hello,

I am trying to perform the Si structure optimization test workflow on the Stampede2 cluster, but I am getting a traceback that seems to indicate the vasp executable I thought I specified is not being used. On Stampede2, we have to specify “ibrun vasp_std”,

but the custodian seems to have ended up looking for just “vasp”. This is despite specifying my vasp_cmd in the my_fworker.yaml file. I have copied the excerpt from the launches collection on my fireworks database below. Is there somewhere else I need to

force atomate to use the vasp_cmd I want? Like when I create the workflow?

Best,

Nick Wagner

{

“_id”: {

“$oid”: “598fd760915f24b1bc05eb95”

},

“fworker”: {

“name”: “stampede2”,

“category”: “”,

“query”: “{}”,

“env”: {

“db_file”: “/home1/03229/tg825281/anaconda3/envs/atomate_env/config/db.json”,

“vasp_cmd”: “ibrun vasp_std -n 128”

}

},

“fw_id”: 3,

“launch_dir”: “/scratch/03229/tg825281/block_2017-08-13-04-05-29-301218/launcher_2017-08-13-04-36-49-070734”,

“host”: “c428-064.stampede2.tacc.utexas.edu”,

“ip”: “206.76.200.16”,

“trackers”: [],

“action”: {

“stored_data”: {

“_message”: “runtime error during task”,

“_task”: {

“vasp_cmd”: “vasp”,

“job_type”: “double_relaxation_run”,

“max_force_threshold”: 0.25,

“ediffg”: null,

“auto_npar”: “>>auto_npar<<”,

“_fw_name”: “{{atomate.vasp.firetasks.run_calc.RunVaspCustodian}}”

},

“_exception”: {

“_stacktrace”: “Traceback (most recent call last):\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/fireworks/fireworks/core/rocket.py”, line 253, in run\n m_action = t.run_task(my_spec)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/atomate/atomate/vasp/firetasks/run_calc.py”, line 185, in run_task\n c.run()\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/custodian.py”, line 320, in run\n self._run_job(job_n, job)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/custodian.py”, line 376, in _run_job\n p = job.run()\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/vasp/jobs.py”, line 205, in run\n p = subprocess.Popen(cmd, stdout=f_std, stderr=f_err)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/lib/python3.6/subprocess.py”, line 707, in init\n restore_signals, start_new_session)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/lib/python3.6/subprocess.py”, line 1333, in _execute_child\n raise child_exception_type(errno_num, err_msg)\nFileNotFoundError: [Errno 2] No such file or directory: ‘vasp’\n”,

“_details”: null

}

You received this message because you are subscribed to the Google Groups “atomate” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/d/msgid/atomate/45e88a9f-e8cf-44c9-b538-5ad74347d213%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


Best,
Anubhav

Btw you can follow the progress of the fix here:

···

On Sunday, August 13, 2017 at 9:27:51 AM UTC-7, Anubhav Jain wrote:

Hi Nick

Ok understood. I actually never use “atwf” or directly load workflows from files (I and others call the Python function instead), so I didn’t catch the fact that this method doesn’t really make it easy to set your VASP command to “>>vasp_cmd<<” and just defaults to “vasp”. I will forward this to the relevant people to see if they can design something to help.

In the meantime, you can replace the command in the documentation with:

atwf add -l vasp -p wf_bandstructure -m mp-149

This will add a workflow using the Python function atomate.vasp.workflows.presets.core.wf_bandstructure. You can also add other workflows in that same module, e.g., to run bulk modulus instead run:

atwf add -l vasp -p wf_bulk_modulus -m mp-149

Hope this gets you up and running without issues. As mentioned, we’ll try to get an official “fix” to the docs as soon as possible
On Sunday, August 13, 2017 at 7:10:06 AM UTC-7, Nicholas Wagner wrote:

Thanks for your reply. I am following the documentation at https://hackingmaterials.github.io/atomate/installation.html
The test workflow command there is: atwf add -l vasp -s optimize_only.yaml -m mp-149

On Sunday, August 13, 2017 at 1:10:39 AM UTC-6, Anubhav Jain wrote:

Hi Nick

From your output, your my_fworker.yaml looks to be set up correctly (the “env” key shows a key called “vasp_cmd” with your desired command). However, the actual workflow isn’t using the env value for the VASP command. If you look at this part: “vasp_cmd”: “vasp” - that means it is going to just directly execute “vasp”. If it instead said “vasp_cmd”: “>>vasp_cmd<<”, that would be an instruction to take the value from env.vasp_cmd key.

I am not sure how you created the workflow in the first place; the default workflows use “>>vasp_cmd<<” as the default. Can you point me to which Si test workflow you are referring to? (where in the code or documentation)

Best,

Anubhav

On Sat, Aug 12, 2017 at 10:35 PM, Nicholas Wagner [email protected] wrote:

Hello,

I am trying to perform the Si structure optimization test workflow on the Stampede2 cluster, but I am getting a traceback that seems to indicate the vasp executable I thought I specified is not being used. On Stampede2, we have to specify “ibrun vasp_std”,

but the custodian seems to have ended up looking for just “vasp”. This is despite specifying my vasp_cmd in the my_fworker.yaml file. I have copied the excerpt from the launches collection on my fireworks database below. Is there somewhere else I need to

force atomate to use the vasp_cmd I want? Like when I create the workflow?

Best,

Nick Wagner

{

“_id”: {

“$oid”: “598fd760915f24b1bc05eb95”

},

“fworker”: {

“name”: “stampede2”,

“category”: “”,

“query”: “{}”,

“env”: {

“db_file”: “/home1/03229/tg825281/anaconda3/envs/atomate_env/config/db.json”,

“vasp_cmd”: “ibrun vasp_std -n 128”

}

},

“fw_id”: 3,

“launch_dir”: “/scratch/03229/tg825281/block_2017-08-13-04-05-29-301218/launcher_2017-08-13-04-36-49-070734”,

“host”: “c428-064.stampede2.tacc.utexas.edu”,

“ip”: “206.76.200.16”,

“trackers”: [],

“action”: {

“stored_data”: {

“_message”: “runtime error during task”,

“_task”: {

“vasp_cmd”: “vasp”,

“job_type”: “double_relaxation_run”,

“max_force_threshold”: 0.25,

“ediffg”: null,

“auto_npar”: “>>auto_npar<<”,

“_fw_name”: “{{atomate.vasp.firetasks.run_calc.RunVaspCustodian}}”

},

“_exception”: {

“_stacktrace”: “Traceback (most recent call last):\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/fireworks/fireworks/core/rocket.py”, line 253, in run\n m_action = t.run_task(my_spec)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/atomate/atomate/vasp/firetasks/run_calc.py”, line 185, in run_task\n c.run()\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/custodian.py”, line 320, in run\n self._run_job(job_n, job)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/custodian.py”, line 376, in _run_job\n p = job.run()\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/vasp/jobs.py”, line 205, in run\n p = subprocess.Popen(cmd, stdout=f_std, stderr=f_err)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/lib/python3.6/subprocess.py”, line 707, in init\n restore_signals, start_new_session)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/lib/python3.6/subprocess.py”, line 1333, in _execute_child\n raise child_exception_type(errno_num, err_msg)\nFileNotFoundError: [Errno 2] No such file or directory: ‘vasp’\n”,

“_details”: null

}

You received this message because you are subscribed to the Google Groups “atomate” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/d/msgid/atomate/45e88a9f-e8cf-44c9-b538-5ad74347d213%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


Best,
Anubhav

Thanks for the help. I ran the bandstructure command you mentioned, and it crashed due to having the scratch_dir unspecified in the my_fworker.yaml file. Once I added the environment variable there, the calculation succeeded. Now on to the next part of the tutorial!

···

On Sunday, August 13, 2017 at 11:28:23 AM UTC-6, Anubhav Jain wrote:

Btw you can follow the progress of the fix here:

https://github.com/hackingmaterials/atomate/issues/143#issuecomment-322053601

On Sunday, August 13, 2017 at 9:27:51 AM UTC-7, Anubhav Jain wrote:

Hi Nick

Ok understood. I actually never use “atwf” or directly load workflows from files (I and others call the Python function instead), so I didn’t catch the fact that this method doesn’t really make it easy to set your VASP command to “>>vasp_cmd<<” and just defaults to “vasp”. I will forward this to the relevant people to see if they can design something to help.

In the meantime, you can replace the command in the documentation with:

atwf add -l vasp -p wf_bandstructure -m mp-149

This will add a workflow using the Python function atomate.vasp.workflows.presets.core.wf_bandstructure. You can also add other workflows in that same module, e.g., to run bulk modulus instead run:

atwf add -l vasp -p wf_bulk_modulus -m mp-149

Hope this gets you up and running without issues. As mentioned, we’ll try to get an official “fix” to the docs as soon as possible
On Sunday, August 13, 2017 at 7:10:06 AM UTC-7, Nicholas Wagner wrote:

Thanks for your reply. I am following the documentation at https://hackingmaterials.github.io/atomate/installation.html
The test workflow command there is: atwf add -l vasp -s optimize_only.yaml -m mp-149

On Sunday, August 13, 2017 at 1:10:39 AM UTC-6, Anubhav Jain wrote:

Hi Nick

From your output, your my_fworker.yaml looks to be set up correctly (the “env” key shows a key called “vasp_cmd” with your desired command). However, the actual workflow isn’t using the env value for the VASP command. If you look at this part: “vasp_cmd”: “vasp” - that means it is going to just directly execute “vasp”. If it instead said “vasp_cmd”: “>>vasp_cmd<<”, that would be an instruction to take the value from env.vasp_cmd key.

I am not sure how you created the workflow in the first place; the default workflows use “>>vasp_cmd<<” as the default. Can you point me to which Si test workflow you are referring to? (where in the code or documentation)

Best,

Anubhav

On Sat, Aug 12, 2017 at 10:35 PM, Nicholas Wagner [email protected] wrote:

Hello,

I am trying to perform the Si structure optimization test workflow on the Stampede2 cluster, but I am getting a traceback that seems to indicate the vasp executable I thought I specified is not being used. On Stampede2, we have to specify “ibrun vasp_std”,

but the custodian seems to have ended up looking for just “vasp”. This is despite specifying my vasp_cmd in the my_fworker.yaml file. I have copied the excerpt from the launches collection on my fireworks database below. Is there somewhere else I need to

force atomate to use the vasp_cmd I want? Like when I create the workflow?

Best,

Nick Wagner

{

“_id”: {

“$oid”: “598fd760915f24b1bc05eb95”

},

“fworker”: {

“name”: “stampede2”,

“category”: “”,

“query”: “{}”,

“env”: {

“db_file”: “/home1/03229/tg825281/anaconda3/envs/atomate_env/config/db.json”,

“vasp_cmd”: “ibrun vasp_std -n 128”

}

},

“fw_id”: 3,

“launch_dir”: “/scratch/03229/tg825281/block_2017-08-13-04-05-29-301218/launcher_2017-08-13-04-36-49-070734”,

“host”: “c428-064.stampede2.tacc.utexas.edu”,

“ip”: “206.76.200.16”,

“trackers”: [],

“action”: {

“stored_data”: {

“_message”: “runtime error during task”,

“_task”: {

“vasp_cmd”: “vasp”,

“job_type”: “double_relaxation_run”,

“max_force_threshold”: 0.25,

“ediffg”: null,

“auto_npar”: “>>auto_npar<<”,

“_fw_name”: “{{atomate.vasp.firetasks.run_calc.RunVaspCustodian}}”

},

“_exception”: {

“_stacktrace”: “Traceback (most recent call last):\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/fireworks/fireworks/core/rocket.py”, line 253, in run\n m_action = t.run_task(my_spec)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/atomate/atomate/vasp/firetasks/run_calc.py”, line 185, in run_task\n c.run()\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/custodian.py”, line 320, in run\n self._run_job(job_n, job)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/custodian.py”, line 376, in _run_job\n p = job.run()\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/vasp/jobs.py”, line 205, in run\n p = subprocess.Popen(cmd, stdout=f_std, stderr=f_err)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/lib/python3.6/subprocess.py”, line 707, in init\n restore_signals, start_new_session)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/lib/python3.6/subprocess.py”, line 1333, in _execute_child\n raise child_exception_type(errno_num, err_msg)\nFileNotFoundError: [Errno 2] No such file or directory: ‘vasp’\n”,

“_details”: null

}

You received this message because you are subscribed to the Google Groups “atomate” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/d/msgid/atomate/45e88a9f-e8cf-44c9-b538-5ad74347d213%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


Best,
Anubhav

Ok good to hear!

FYI, I updated the installation instructions to set “null” for the scratch_dir (which won’t use a scratch_dir)

https://hackingmaterials.github.io/atomate/installation.html

···

On Monday, August 14, 2017 at 9:30:47 AM UTC-7, Nicholas Wagner wrote:

Thanks for the help. I ran the bandstructure command you mentioned, and it crashed due to having the scratch_dir unspecified in the my_fworker.yaml file. Once I added the environment variable there, the calculation succeeded. Now on to the next part of the tutorial!

On Sunday, August 13, 2017 at 11:28:23 AM UTC-6, Anubhav Jain wrote:

Btw you can follow the progress of the fix here:

https://github.com/hackingmaterials/atomate/issues/143#issuecomment-322053601

On Sunday, August 13, 2017 at 9:27:51 AM UTC-7, Anubhav Jain wrote:

Hi Nick

Ok understood. I actually never use “atwf” or directly load workflows from files (I and others call the Python function instead), so I didn’t catch the fact that this method doesn’t really make it easy to set your VASP command to “>>vasp_cmd<<” and just defaults to “vasp”. I will forward this to the relevant people to see if they can design something to help.

In the meantime, you can replace the command in the documentation with:

atwf add -l vasp -p wf_bandstructure -m mp-149

This will add a workflow using the Python function atomate.vasp.workflows.presets.core.wf_bandstructure. You can also add other workflows in that same module, e.g., to run bulk modulus instead run:

atwf add -l vasp -p wf_bulk_modulus -m mp-149

Hope this gets you up and running without issues. As mentioned, we’ll try to get an official “fix” to the docs as soon as possible
On Sunday, August 13, 2017 at 7:10:06 AM UTC-7, Nicholas Wagner wrote:

Thanks for your reply. I am following the documentation at https://hackingmaterials.github.io/atomate/installation.html
The test workflow command there is: atwf add -l vasp -s optimize_only.yaml -m mp-149

On Sunday, August 13, 2017 at 1:10:39 AM UTC-6, Anubhav Jain wrote:

Hi Nick

From your output, your my_fworker.yaml looks to be set up correctly (the “env” key shows a key called “vasp_cmd” with your desired command). However, the actual workflow isn’t using the env value for the VASP command. If you look at this part: “vasp_cmd”: “vasp” - that means it is going to just directly execute “vasp”. If it instead said “vasp_cmd”: “>>vasp_cmd<<”, that would be an instruction to take the value from env.vasp_cmd key.

I am not sure how you created the workflow in the first place; the default workflows use “>>vasp_cmd<<” as the default. Can you point me to which Si test workflow you are referring to? (where in the code or documentation)

Best,

Anubhav

On Sat, Aug 12, 2017 at 10:35 PM, Nicholas Wagner [email protected] wrote:

Hello,

I am trying to perform the Si structure optimization test workflow on the Stampede2 cluster, but I am getting a traceback that seems to indicate the vasp executable I thought I specified is not being used. On Stampede2, we have to specify “ibrun vasp_std”,

but the custodian seems to have ended up looking for just “vasp”. This is despite specifying my vasp_cmd in the my_fworker.yaml file. I have copied the excerpt from the launches collection on my fireworks database below. Is there somewhere else I need to

force atomate to use the vasp_cmd I want? Like when I create the workflow?

Best,

Nick Wagner

{

“_id”: {

“$oid”: “598fd760915f24b1bc05eb95”

},

“fworker”: {

“name”: “stampede2”,

“category”: “”,

“query”: “{}”,

“env”: {

“db_file”: “/home1/03229/tg825281/anaconda3/envs/atomate_env/config/db.json”,

“vasp_cmd”: “ibrun vasp_std -n 128”

}

},

“fw_id”: 3,

“launch_dir”: “/scratch/03229/tg825281/block_2017-08-13-04-05-29-301218/launcher_2017-08-13-04-36-49-070734”,

“host”: “c428-064.stampede2.tacc.utexas.edu”,

“ip”: “206.76.200.16”,

“trackers”: [],

“action”: {

“stored_data”: {

“_message”: “runtime error during task”,

“_task”: {

“vasp_cmd”: “vasp”,

“job_type”: “double_relaxation_run”,

“max_force_threshold”: 0.25,

“ediffg”: null,

“auto_npar”: “>>auto_npar<<”,

“_fw_name”: “{{atomate.vasp.firetasks.run_calc.RunVaspCustodian}}”

},

“_exception”: {

“_stacktrace”: “Traceback (most recent call last):\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/fireworks/fireworks/core/rocket.py”, line 253, in run\n m_action = t.run_task(my_spec)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/atomate/atomate/vasp/firetasks/run_calc.py”, line 185, in run_task\n c.run()\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/custodian.py”, line 320, in run\n self._run_job(job_n, job)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/custodian.py”, line 376, in _run_job\n p = job.run()\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/codes/custodian/custodian/vasp/jobs.py”, line 205, in run\n p = subprocess.Popen(cmd, stdout=f_std, stderr=f_err)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/lib/python3.6/subprocess.py”, line 707, in init\n restore_signals, start_new_session)\n File “/home1/03229/tg825281/anaconda3/envs/atomate_env/lib/python3.6/subprocess.py”, line 1333, in _execute_child\n raise child_exception_type(errno_num, err_msg)\nFileNotFoundError: [Errno 2] No such file or directory: ‘vasp’\n”,

“_details”: null

}

You received this message because you are subscribed to the Google Groups “atomate” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/d/msgid/atomate/45e88a9f-e8cf-44c9-b538-5ad74347d213%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


Best,
Anubhav