Ë
    ÄÓ^jK  ã                   ó   — d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlZd dlm	Z	 d dl
mZmZ d dlmZmZmZmZ d dlmZ  ej(                  e«      Zdedee   d	ed
efd„Zdeded
efd„Z	 	 	 	 ddededededed
efd„Zy)é    N)ÚIO)Úconfig)ÚBuildOptionsBaseÚ
CppBuilder)Ú
AOTI_FILESÚAOTICompiledModelÚload_pt2Úpackage_pt2)ÚFileLikeÚaoti_dirÚ
aoti_filesÚso_pathÚreturnc                 ó   ‡— dt         dt         fˆfd„}t        j                  j                  |  |d«      «      }t        j                  j                  |  |d«      «      }t        j                  j	                  |«      d   }t        |dz   «      5 }t        j                  |«      }d d d «       t        di ¤dt        j                  «       i¤Ž}	t        |||	¬	«      }
|
j                  «       }|
j                  «        t        |d
z   «      5 }t        j                  |«      }d d d «       t        di ¤dt        j                  «       i¤Ž}t        t        j                  j                  |«      d   ||g||¬«      }|j                  «       }|j                  «        |dz   }|‰v rwt        |d«      5 }|j                  «       }d d d «       t        |d«      5 }|j!                  «       }|j#                  dd|dz  z
  z  «       |j#                  «       d d d «       |S |S # 1 sw Y   �ŒyxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒwxY w# 1 sw Y   |S xY w)NÚsuffixr   c                 óX   •— ‰D ]  }|j                  | «      sŒ|c S  t        d| › �«      ‚)Nz Unable to find file with suffix )ÚendswithÚRuntimeError)r   Úfiler   s     €új/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torch/_inductor/package/package.pyÚget_aoti_file_with_suffixz-compile_so.<locals>.get_aoti_file_with_suffix   s8   ø€ Øò 	ˆDØ�}‰}˜VÕ$Ø’ð	ô Ð=¸f¸XÐFÓGÐGó    z.cppz.or   z_compile_flags.jsonÚuse_relative_path)ÚnameÚsourcesÚBuildOptionz_linker_flags.jsonéÿÿÿÿ)r   r   r   Ú
output_dirz_serialized_weights.binÚrbza+bó    i @  © )ÚstrÚosÚpathÚjoinÚsplitextÚopenÚjsonÚloadr   r   Ú	is_fbcoder   Úget_target_file_pathÚbuildÚsplitÚreadÚtellÚwrite)r   r   r   r   Úcpp_fileÚconsts_oÚ	file_nameÚfÚcompile_flagsÚcompile_optionsÚobject_builderÚoutput_oÚlinker_flagsÚlinker_optionsÚ
so_builderÚ	output_soÚserialized_weights_filenameÚ	f_weightsÚserialized_weightsÚf_soÚso_sizes    `                   r   Ú
compile_sorB      sA  ø€ ðH¬#ð H´#õ Hô �w‰w�|‰|˜HÑ&?ÀÓ&GÓH€HÜ�w‰w�|‰|˜HÑ&?ÀÓ&EÓF€Hä—‘× Ñ  Ó*¨1Ñ-€Iô 
ˆiÐ/Ñ/Ó	0ð %°AÜŸ	™	 !›ˆ÷%ô 'ñ Ø
ñÜ+1×+;Ñ+;Ó+=ò€Oô  ØØØ#ô€Nð
 ×2Ñ2Ó4€HØ×ÑÔô 
ˆiÐ.Ñ.Ó	/ð $°1Ü—y‘y “|ˆ÷$ô &ñ Ø
ñÜ*0×*:Ñ*:Ó*<ò€Nô Ü�W‰W�]‰]˜7Ó# BÑ'Ø˜8Ð$Ø"Øô	€Jð ×/Ñ/Ó1€IØ×ÑÔð #,Ð.GÑ"GÐØ" jÑ0ÜÐ-¨tÓ4ð 	2¸	Ø!*§¡Ó!1Ð÷	2ô �)˜UÓ#ð 	+ tØ—i‘i“kˆGà�J‰J�t˜u w°¡Ñ6Ñ7Ô8Ø�J‰JÐ)Ô*÷		+ð Ðˆ9Ð÷U%ñ %ú÷$ñ $ú÷$	2ð 	2ú÷	+ð Ðús0   ÂHÄH*Æ0H7Ç<IÈH'È*H4È7I ÉIÚarchive_filec                 ó   — t        | |¬«      S )a_  
    Saves the AOTInductor generated files to the PT2Archive format.

    Args:
        archive_file: The file name to save the package to.
        aoti_files: This can either be a singular path to a directory containing
        the AOTInductor files, or a dictionary mapping the model name to the
        path to its AOTInductor generated files.
    )r   )r
   )rC   r   s     r   Úpackage_aotirE   R   s   € ô ØØôð r   r$   Ú
model_nameÚrun_single_threadedÚnum_runnersÚdevice_indexc                 ó  — 	 t        | |||¬«      }||j                  vrt        d|› d�«      ‚|j                  |   S # t        $ r t        j	                  d«       Y nw xY wt        | t        j                  t        f«      r¾t        j                  d¬«      5 }| j                  d«       |j                  | j                  «       «       t        j                  d|j                  «       t         j"                  j$                  j'                  |j                  ||||«      }t)        |«      cd d d «       S # 1 sw Y   nxY wt+        j,                  | «      } t         j"                  j$                  j'                  | ||||«      }t)        |«      S )	N)rG   rH   rI   zModel z not found in packagez:Loading outdated pt2 file. Please regenerate your package.z.pt2)r   r   z)Writing buffer to tmp file located at %s.)r	   Úaoti_runnersr   ÚlogÚwarningÚ
isinstanceÚioÚIOBaser   ÚtempfileÚNamedTemporaryFileÚseekr0   r.   Údebugr   ÚtorchÚ_CÚ_aotiÚAOTIModelPackageLoaderr   r#   Úfspath)r$   rF   rG   rH   rI   Úpt2_contentsr4   Úloaders           r   Úload_packager\   f   sO  € ðRÜØØ 3Ø#Ø%ô	
ˆð ˜\×6Ñ6Ñ6Ü ¨
 |Ð3HÐIÓJÐJØ×(Ñ(¨Ñ4Ð4øÜò RÜ�‰ÐPÖQðRúô �$œŸ™¤B˜Ô(Ü×(Ñ(°Ô7ð 		-¸1ð �I‰I�aŒLØ�G‰G�D—I‘I“KÔ Ü�I‰IÐAÀ1Ç6Á6ÔJÜ—X‘X—^‘^×:Ñ:Ø—‘˜
Ð$7¸ÀlóˆFô % VÓ,÷		-÷ 		-ò 		-úô �9‰9�T‹?€DÜ�X‰X�^‰^×2Ñ2ØˆjÐ-¨{¸Ló€Fô ˜VÓ$Ð$s   ‚:= ½AÁAÂBD3Ä3D<)ÚmodelFé   r   )rO   r(   Úloggingr#   rQ   Útypingr   rU   Útorch._inductorr   Útorch._inductor.cpp_builderr   r   Ú!torch.export.pt2_archive._packager   r   r	   r
   Útorch.typesr   Ú	getLoggerÚ__name__rL   r"   ÚlistrB   rE   ÚboolÚintr\   r!   r   r   ú<module>rj      sÓ   ðÛ 	Û Û Û 	Û Ý ã Ý "ß D÷ó õ !ð €g×Ñ˜Ó!€ð8˜ð 8¨$¨s©)ð 8¸cð 8Àcó 8ðvØðàðð óð, Ø %ØØñ$%Ø
ð$%àð$%ð ð$%ð ð	$%ð
 ð$%ð ô$%r   