U
    “±Ëhz  ã                   @   sJ   d dl Z d dlZe  e¡ZG dd„ dƒZedkrFeƒ Ze ¡  e ¡  dS )é    Nc                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚAffinitySettingc                 C   s:   t  ¡ | _d | _tt dƒo"tt dƒ| _| js6t d¡ d S )NÚsched_getaffinityÚsched_setaffinityzCCurrent OS does not support os.get_affinity() and os.set_affinity())ÚosÚgetpidÚpidÚaffinityÚhasattrÚis_os_supportedÚloggerÚwarning©Úself© r   úL/tmp/pip-unpacked-wheel-socb9apf/onnxruntime/transformers/affinity_helper.pyÚ__init__   s
    
zAffinitySetting.__init__c                 C   s   | j rt | j¡| _d S )N)r
   r   r   r   r   r   r   r   r   Úget_affinity   s    zAffinitySetting.get_affinityc                 C   sH   | j rDt | j¡}| j|krDt dt|ƒt| jƒ¡ t | j| j¡ d S )Nz%Replacing affinity setting %s with %s)	r
   r   r   r   r   r   r   Ústrr   )r   Zcurrent_affinityr   r   r   Úset_affinity   s    
ýzAffinitySetting.set_affinityN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r      s   r   Ú__main__)	Úloggingr   Ú	getLoggerr   r   r   Zaffi_helperr   r   r   r   r   r   Ú<module>   s   
