Synopsys Common Licensing 支持通过选项文件设置 license 获取的限制和逻辑。要启用选项文件,首先要创建一个文本格式的选项文件scl.opt
,然后在License文件中修改VENDOR行启用该设置文件:
VENDOR snpslmd /opt/synopsys/scl/snpslmd OPTIONS=/opt/synopsys/scl/scl.opt port=28000
在配置好scl.opt文件后,重启scl服务即可。
scl.opt
选项文件的一般格式为:
限制关键字 [功能关键字] 对象关键字 对象名称
限制关键字常用的有:
INCLUDE
INCLUDEALL
EXCLUDE
EXCLUDEALL
RESERVE
MAX
功能关键字是license定义好的名称,可以使用 lmstat 命令查看到对应的关键字,详见:检查SCL服务状态和License使用情况。
注意:从 T-2022.03 版本开始,QuantumATK 变更了 license 功能关键字,显示为以 QuantumATK_*_Pkg 有关的选项,但下方仍然有旧的名称例如 qatk-nanolab(用于 T-2022.03 以后的新版)和 atk_nanolab(用于兼容之前的旧版),进行限制时需要注意。
对象关键字常用的有:
USER
:定义用户;GROUP
:定义用户分组;HOST
:定义主机名;HOST_GROUP
:定义主机名分组。对象名称关键字通常为个性化的,但 SCL 允许使用以下关键字指定所有用户和组:
ALL_USERS
ALL_GROUPS
正在获取license的用户名可以通过【检查SCL服务状态和License使用情况】查看。
例1:允许用户名为dong
的用户获取图形用户界面atk_nano_lab
功能:
INLCLUDE atk_nanolab USER dong
例2:允许用户名为dong
的用户获取所有 license 功能:
INLCLUDEALL USER dong
注:使用INCLUDEALL
时,功能关键字省略。
例3:不允许用户liu
获得任何 license 功能:
EXCLUDEALL USER liu
例4:不允许用户liu
获得 并行计算功能:
EXCLUDE atk_dp USER liu
例5:为用户dong
保留计算作业数1个:
RESERVE 1 atk_master_negf USER dong
例6:设置用户dong
最大可使用的计算作业数为3:
MAX 3 atk_master_negf USER dong
将用户分组,可以避免重复添加很多行限制,设置文件更简洁。增加用户时,只需要在分组定义行添加新用户名即可。例如:
scl.opt
选项文件的一般格式为:
GROUP qatkuser dong liuni
GROUP nanolabuser dong John
GROUP blacklist MaXY xujh
INCLUDE SSS GROUP qatkuser
INCLUDE atk_dp GROUP qatkuser
INCLUDE atk_master_forcefield GROUP qatkuser
INCLUDE atk_master_negf GROUP qatkuser
INCLUDE atk_nanolab GROUP nanolabuser
INCLUDE atk_nanolab_links GROUP nanolabuser
INCLUDE atk_python GROUP qatkuser
INCLUDE smw_all GROUP qatkuser
RESERVE 3 atk_master_negf GROUP ALL_GROUP
EXCLUDEALL blacklist
管理员还可以对主机名从SCL服务器获取license进行限制。格式与使用用户名类似。
需要限制的主机名即为机器在网络上的主机名,正在使用license的主机可以通过【检查SCL服务状态和License使用情况】查看。也可以使用IP地址,并支持“*”通配符。
例:允许主机名为Matebook13DD
的机器获取图形用户界面atk_nano_lab
功能:
INCLUDE atk_nanolab HOST Matebook13DD
其他选项设置与USER类似。
管理员同样可以定义主机名分组,以方便设置选项:
HOST_GROUP phys1 Matebook13DD Desktop-DD INCLUDE atk_nanolab HOST_GROUP phys1
当一个设置文件有多条 INCLUDE 和 EXCLUDE 等命令时,遵循以下优先级: