[docs]defcmd_wrapper(cmd:str="")->None:"""Use command in anywhere, no matter it's in `.ipynb` or '.py'. Args: cmd (str, optional): Which execute command in any python or jupyter environment. Defaults to "". """try:# pylint: disable=import-outside-toplevelfromIPython.core.getipythonimportget_ipython# pylint: disable=import-outside-toplevelget_ipython().system(cmd)# type: ignoreexceptImportError:os.system(cmd)
[docs]defpytorch_cuda_check()->Optional[bool]:"""Via pytorch to check the availability of Nvidia CUDA. Returns: bool: Available of CUDA by pytorch if pytorch is available, else 'None'. """try:# pylint: disable=import-outside-toplevelimporttorch# type: ignore# pylint: disable=import-outside-toplevelprint(f" - CUDA availability check by Torch --------- {torch.cuda.is_available()}")print(">>> Using torch "+" ".join((torch.__version__,(torch.cuda.get_device_properties(0)iftorch.cuda.is_available()else"CPU"),)))returntorch.cuda.is_available()exceptImportError:warnings.warn("Torch CUDA checking method requires pytorch"+" which has been installed in this enviornment.",category=QurryImportWarning,)returnNone
[docs]deffun_platform_check():"""Check platform information."""platform_uname=platform.uname()ifplatform_uname.system=="Linux":try:uname_all_read=subprocess.check_output(["uname","-a"]).strip()uname_all_read=uname_all_read.decode("utf-8")uname_all_split=uname_all_read.split("\n")uname_all=uname_all_split[0]# pylint: disable=broad-exceptexceptException:uname_all=platform_uname.version# pylint: enable=broad-exceptelse:uname_all=platform_uname.versionif"PRoot-Distro"inplatform_uname.release:print(f"| Whao! You are using '{platform_uname.release}' !!!")print("| Is it on Termux on Android Phone or Tablet?")print('| "The Quantum Computing Right At Your Fingertips" :smile:')if"synology"inuname_all.lower():print(f"| uname -a: '{uname_all}'")print("| Seriously? You're running Quantum Computing on a Synology NAS?")print('| "Your NAS can also perform Quantum Computing!" :smile:')print("| You're a true geek! :smile:")