Code Monkey home page Code Monkey logo

Comments (9)

alongd avatar alongd commented on May 30, 2024

At the top of the message you shared, I see No architecture specified, cannot estimate job costs.
Looks like your server has more than one architecture, it could be that it requires you to specify one of them. Try specifying it in the submit script, and see if it makes any difference (consult your system admin if you're not sure)
Alternatively, the sbatch command might not be defined appropriately. When you type which sbatch, does it print exactly /usr/bin/sbatch, or does it have a different path? If different, make sure to update it in settings (along with all other server commands)

from arc.

NtuCheRoy avatar NtuCheRoy commented on May 30, 2024

How to specify my architecture in submit script?
By the way, is that right to change the string 'pharos' to 'local' in line 198 in arc/job/submit.py in my case?

from arc.

alongd avatar alongd commented on May 30, 2024

Were you able to submit QChem jobs to this server outside ARC? If so, the submit script you specify in arc/job/submit.py should be very similar to the one you previously used. If you do need to specify the architecture, then only someone who knows your server (admin?) can help, I wouldn't know.
I'm not sure replacing 'pharos' with 'local' is what you want. The example scripts ARC has under 'pharos' are for an OGE server, not a Slurm server.

Could you verify whether your server has OGE or Slurm as its cluster software? (or something else?) Also, upload here a submit script you were using for QChem outside ARC, and I'll try to assist you with the modifications.

from arc.

NtuCheRoy avatar NtuCheRoy commented on May 30, 2024

I can submit Qchem job in my server outside ARC. I specify my architecture by #SBATCH -C haswell. My server is using Slurm as its cluster software, and my Qchem and ARC are built on the same server. so I change the line 52 in arc/settings.py from 'cluster_soft': 'OGE' to 'cluster_soft': 'Slurm'. After runing the Qchem job, it shows KeyError: 'local', the trace message is below.
image
then I see my trace message {'c3ddb': ['gaussian', 'orca'], 'rmg': ['molpro', 'gaussian', 'gromacs'], 'pharos': ['onedmin', 'qchem', 'molpro', 'gaussian', 'gaussian03_pharos']} , I feel so weird that 'local' is not a key in this dictionary and qchem is in the 'pharos',so I change string 'pharos' to 'local'.
After running, it shows No architecture specified, cannot estimate job costs.
Below is my submit script using for QChem outside ARC. I think I do something wrong in some parts.

#!/bin/bash -l
#SBATCH -N 1
#SBATCH -t 00:30:00
#SBATCH -q debug
#SBATCH -L SCRATCH
#SBATCH -C haswell
#SBATCH --ntasks-per-node=1

python ~/ARC/ARC.py arc_demo_1.yml

from arc.

alongd avatar alongd commented on May 30, 2024

Looks like a submit script for ARC, not QChem.
Your submit.py should look something like this (remove all other servers):

#!/usr/bin/env python
# encoding: utf-8

"""
Submit scripts
sorted in a dictionary with server names as keys
"""

##################################################################


submit_scripts = {
    'local': {
        # QChem
        'qchem': """#!/bin/bash -l
#SBATCH -N 1
#SBATCH --time={t_max}
#SBATCH -q debug
#SBATCH -L SCRATCH
#SBATCH -C haswell
#SBATCH -J {name}
#SBATCH -n {cpus}
#SBATCH --mem-per-cpu {mem_per_cpu}

echo "============================================================"
echo "Job ID : $SLURM_JOB_ID"
echo "Job Name : $SLURM_JOB_NAME"
echo "Starting on : $(date)"
echo "Running on node : $SLURMD_NODENAME"
echo "Current directory : $(pwd)"
echo "============================================================"


export QC=/opt/qchem
export QCSCRATCH=/scratch/{un}/{name}
export QCLOCALSCR=/scratch/{un}/{name}/qlscratch

mkdir -p /scratch/{un}/{name}/qlscratch

qchem -nt {cpus} input.in output.out

rm -r /scratch/{un}/{name}

""",
    }
}

from arc.

NtuCheRoy avatar NtuCheRoy commented on May 30, 2024

Sorry, the last two lines should be

module load qchem/5.1
qchem -nt 1 hydrogen.in hydrogen_b3lyp_opt.out

I change my submit.py to the one you give. However, it shows sbatch: error: Batch job submission failed: Requested time limit is invalid (missing or exceeds some limit). Since my server has different max time for different QOS(ex: debug have 30 min max_time). I am not sure whether #SBATCH --time={t_max} will cause exceeding or not. Can I just type #SBATCH --time= 00:30:00 in this case? or do something else?
image

from arc.

alongd avatar alongd commented on May 30, 2024

Yes - in that case just do #SBATCH -t 00:30:00 as you had in your original script.
(change it if you submit to a different queue than the debug)

from arc.

NtuCheRoy avatar NtuCheRoy commented on May 30, 2024

Thank you so much. The submit.py is Ok for my case. I try to run hydrogen with sp job, but in the file I see that ARC go to run opt job for the molecules I didn't give, and cause submitting too much job in a sudden, so reach this QOS's job submission limitation. Why ARC would want to run these opt job for these molecule and doesn't run the job I submitting in the yml file?

Using Theano backend.
ARC execution initiated on Tue Sep 17 06:29:57 2019

###############################################################
#                                                             #
#                 Automatic Rate Calculator                   #
#                            ARC                              #
#                                                             #
#   Version: 1.1.0                                            #
#                                                             #
###############################################################

The current git HEAD for ARC is:
    ccdb557aa3f369b0de24da9a84ce9f9c3ad6dbb8
    Sun Sep 15 21:43:52 2019 -0400


Starting project arc_demo_1

Considering the following job types: ['sp']


Using the following ESS settings:
{'qchem': ['local']}



Warning: Not using a fine grid for geometry optimization jobs




Warning: Not running rotor scans. This might compromise finding the best conformer, as dihedral angles won't be corrected. Also, entropy won't be accurate.


Using b3lyp/6-31g* for refined conformer searches (after filtering via force fields)
Using b3lyp/6-31g* for TS guesses comparison of different methods
Using b3lyp/6-31g* for geometry optimizations
Using b3lyp/6-31g* for frequency calculations
Using b3lyp/6-31g* for single point calculations
Using b3lyp/6-31g* for rotor scans



Warning: Could not determine appropriate Model Chemistry to be used in Arkane for thermochemical parameter calculations.
Not using atom energy corrections and bond additivity corrections!


Using b3lyp/6-31g*//b3lyp/6-31g* as a model chemistry in Arkane
Warning: :root:No frequency scaling factor found for model chemistry b3lyp/6-31g*. Assuming a value of unity. This will affect the partition function and all quantities derived from it (thermo quantities and rate coefficients).
Could not determine the harmonic frequencies scaling factor for b3lyp/6-31g* from Arkane.
Calculating it using Truhlar's method:






FREQ: A PROGRAM FOR OPTIMIZING SCALE FACTORS (Version 1)
                 written by
Haoyu S. Yu, Lucas J. Fiedler, I.M. Alecu, and Donald G. Truhlar
Department of Chemistry and Supercomputing Institute
University of Minnesota, Minnesota 55455-0431
CITATIONS:
1. I.M., Alecu, J. Zheng, Y. Zhao, D.G. Truhlar, J. Chem. Theory Comput. 2010, 6, 9, 2872-2887,
   DOI: 10.1021/ct100326h
2. H.S. Yu, L.J. Fiedler, I.M. Alecu,, D.G. Truhlar, Computer Physics Communications 2017, 210, 132-138,
   DOI: 10.1016/j.cpc.2016.09.004




starting ARC...


Considering the following job types: [u'opt', u'conformers', u'sp', u'1d_rotors', u'freq', u'fine']


Computing scaling factors at the b3lyp/6-31g* level of theory...



Using the following ESS settings:
{'qchem': ['local']}

Running job opt_a45 for C2H2
Running job opt_a46 for CH4
Running job opt_a47 for CO2
Running job opt_a48 for CO
Running job opt_a49 for F2
Running job opt_a50 for CH2O
sbatch: error: QOSMaxSubmitJobPerUserLimit
sbatch: error: Batch job submission failed: Job violates accounting/QOS policy (job submit limit, user's size and/or time limits)
Error: The following command is erroneous:

Traceback (most recent call last):
  File "/global/homes/s/shcheng/ARC/ARC.py", line 76, in <module>
    main()
  File "/global/homes/s/shcheng/ARC/ARC.py", line 69, in main
    arc_object = ARC(input_dict=input_dict, project_directory=project_directory)
  File "/global/u2/s/shcheng/ARC/arc/main.py", line 405, in __init__
    self.check_freq_scaling_factor()
  File "/global/u2/s/shcheng/ARC/arc/main.py", line 1015, in check_freq_scaling_factor
    level, ess_settings=self.ess_settings, init_log=False)[0]
  File "/global/u2/s/shcheng/ARC/arc/utils/scale.py", line 108, in determine_scaling_factors
    ess_settings=ess_settings, job_types=job_types, allow_nonisomorphic_2d=True)
  File "/global/u2/s/shcheng/ARC/arc/scheduler.py", line 363, in __init__
    self.run_opt_job(species.label)
  File "/global/u2/s/shcheng/ARC/arc/scheduler.py", line 805, in run_opt_job
    job_type='opt', fine=False)
  File "/global/u2/s/shcheng/ARC/arc/scheduler.py", line 659, in run_job
    self.job_dict[label][job_type][job.job_name].run()
  File "/global/u2/s/shcheng/ARC/arc/job/job.py", line 805, in run
    self.job_status[0], self.job_id = submit_job(path=self.local_path)
  File "/global/u2/s/shcheng/ARC/arc/job/local.py", line 98, in submit_job
    stdout = execute_command(cmd)[0]
  File "/global/u2/s/shcheng/ARC/arc/job/local.py", line 43, in execute_command
    ' sbatch path required in the submit_command dictionary.'.format(e.message))
arc.arc_exceptions.SettingsError: The following command is erroneous:

To correct the command, modify settings.py
Tips: use "which" command to locate cluster software commands on server.
Example: type "which sbatch" on a server running Slurm to find the correct sbatch path required in the submit_command dictionary.

from arc.

alongd avatar alongd commented on May 30, 2024

Glad to hear that it works! I addressed your question in #197.
Good luck!

from arc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.