intel oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ
Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీతో ప్రారంభించండి
Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ (oneMKL) CPU మరియు GPU కోసం అత్యంత ఆప్టిమైజ్ చేయబడిన, విస్తృతంగా సమాంతరంగా ఉండే రొటీన్ల గణిత కంప్యూటింగ్ లైబ్రరీతో గరిష్ట పనితీరును సాధించడంలో మీకు సహాయపడుతుంది. లైబ్రరీలో CPUలో చాలా రొటీన్ల కోసం C మరియు Fortran ఇంటర్ఫేస్లు ఉన్నాయి మరియు CPU మరియు GPU రెండింటిలోనూ కొన్ని రొటీన్ల కోసం DPC++ ఇంటర్ఫేస్లు ఉన్నాయి. మీరు వివిధ ఇంటర్ఫేస్లలో అనేక గణిత కార్యకలాపాలకు సమగ్ర మద్దతును కనుగొనవచ్చు:
CPUలో C మరియు Fortran కోసం
- లీనియర్ బీజగణితం
- ఫాస్ట్ ఫోరియర్ ట్రాన్స్ఫార్మ్స్ (FFT)
- వెక్టర్ గణితం
- ప్రత్యక్ష మరియు పునరావృత స్పేర్స్ సాల్వర్లు
- యాదృచ్ఛిక సంఖ్య జనరేటర్లు
CPU మరియు GPUలో DPC++ కోసం (మరిన్ని వివరాల కోసం Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ—డేటా పారలల్ C++ డెవలపర్ రిఫరెన్స్ని చూడండి.)
- లీనియర్ బీజగణితం
- BLAS
- ఎంపిక చేయబడిన స్పార్స్ BLAS కార్యాచరణ
- ఎంచుకున్న LAPACK కార్యాచరణ
- ఫాస్ట్ ఫోరియర్ ట్రాన్స్ఫార్మ్స్ (FFT)
- 1D, 2D మరియు 3D
- యాదృచ్ఛిక సంఖ్య జనరేటర్లు
- ఎంచుకున్న కార్యాచరణ
- ఎంచుకున్న వెక్టర్ మ్యాథ్ ఫంక్షనాలిటీ
మీరు ప్రారంభించే ముందు
తెలిసిన సమస్యలు మరియు అత్యంత తాజా సమాచారం కోసం విడుదల గమనికల పేజీని సందర్శించండి.
సిస్టమ్ అవసరాల కోసం Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ సిస్టమ్ అవసరాల పేజీని సందర్శించండి.
DPC++ కంపైలర్ అవసరాల కోసం Intel® oneAPI DPC++/C++ కంపైలర్తో ప్రారంభించడాన్ని సందర్శించండి.
దశ 1: Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీని ఇన్స్టాల్ చేయండి
Intel® oneAPI గణిత కెర్నల్ లైబ్రరీని Intel® oneAPI బేస్ టూల్కిట్ నుండి డౌన్లోడ్ చేయండి.
పైథాన్ పంపిణీల కోసం, పైథాన్* మరియు Pip మరియు PyPIతో Intel® పనితీరు లైబ్రరీల కోసం Intel® పంపిణీని ఇన్స్టాల్ చేయడాన్ని చూడండి.
పైథాన్ పంపిణీల కోసం, కింది పరిమితిని గమనించండి:
Linux* మరియు macOS*లో PIP పంపిణీ కోసం oneMKL డెవెల్ ప్యాకేజీ (mkl-devel) డైనమిక్ లైబ్రరీల సిమ్లింక్లను అందించదు (మరింత సమాచారం కోసం PIP GitHub సంచిక #5919 చూడండి).
డైనమిక్ లేదా సింగిల్ డైనమిక్ లైబ్రరీని oneMKL డెవలప్ ప్యాకేజీతో లింక్ చేసే సందర్భంలో (మరింత సమాచారం కోసం oneMKL లింక్ లైన్ అడ్వైజర్ చూడండి) మీరు తప్పనిసరిగా oneMKL లైబ్రరీల పూర్తి పేర్లు మరియు సంస్కరణలతో లింక్ లైన్ని సవరించాలి.
pkg-config సాధనంతో కంపైల్ చేయడం మరియు లింక్ చేయడం గురించి సమాచారం కోసం Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ మరియు pkg-config సాధనాన్ని చూడండి.
oneMKL లింక్ లైన్ ఉదాampసిమ్లింక్ల ద్వారా oneAPI బేస్ టూల్కిట్తో le:
- Linux:
icc app.obj -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64-lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl - MacOS:
icc app.obj -L${MKLROOT}/lib -Wl,-rpath,${MKLROOT}/lib-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
-lm -ldl
oneMKL లింక్ లైన్ మాజీampలైబ్రరీల పూర్తి పేర్లు మరియు సంస్కరణల ద్వారా PIP అభివృద్ధి ప్యాకేజీతో le: Linux:
icc app.obj ${MKLROOT}/lib/intel64/libmkl_intel_lp64.so.1 ${MKLROOT}/lib/intel64/libmkl_intel_thread.so.1 ${MKLROOT}/lib/intel64-corempsokl.1 -lm -ldl - MacOS:
icc app.obj -Wl,-rpath,${MKLROOT}/lib${MKLROOT}/lib/intel64/libmkl_intel_lp64.1.dylib $ {MKLROOT}/lib/intel64/libmkl_intel_thread.1.dylib
${MKLROOT}/lib/intel64/libmkl_core.1.dylib -liomp5 -lpthread -lm-ldl
దశ 2: ఫంక్షన్ లేదా రొటీన్ని ఎంచుకోండి
మీ సమస్యకు ఉత్తమంగా సరిపోయే ఒక ఫంక్షన్ లేదా రొటీన్ను oneMKL నుండి ఎంచుకోండి. ఈ వనరులను ఉపయోగించండి:
రిసోర్స్ లింక్: కంటెంట్లు
Linux కోసం oneMKL డెవలపర్ గైడ్*
Windows కోసం oneMKL డెవలపర్ గైడ్*
macOS కోసం oneMKL డెవలపర్ గైడ్*
డెవలపర్ గైడ్ అనేక అంశాలపై వివరణాత్మక సమాచారాన్ని కలిగి ఉంది:
- అప్లికేషన్లను కంపైల్ చేయడం మరియు లింక్ చేయడం
- అనుకూల DLLలను నిర్మించడం
- థ్రెడింగ్
- మెమరీ నిర్వహణ
oneMKL డెవలపర్ సూచన – సి
భాష ఒకటిMKL డెవలపర్ రిఫరెన్స్ – ఫోర్ట్రాన్ లాంగ్వేజ్
oneMKL డెవలపర్ సూచన – DPC++ భాష
- డెవలపర్ సూచన (C, Fortran మరియు DPC++ ఫార్మాట్లలో) అన్ని లైబ్రరీ డొమైన్ల కోసం విధులు మరియు ఇంటర్ఫేస్ల వివరణాత్మక వివరణలను కలిగి ఉంది.
Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ ఫంక్షన్ ఫైండింగ్ అడ్వైజర్
- నిర్దిష్ట సమస్యకు ఉపయోగపడే LAPACK రొటీన్లను అన్వేషించడానికి LAPACK ఫంక్షన్ ఫైండింగ్ అడ్వైజర్ని ఉపయోగించండి. ఉదాహరణకుample, మీరు ఒక ఆపరేషన్ని ఇలా పేర్కొంటే:
- సాధారణ రకం: గణన
- గణన సమస్య: ఆర్తోగోనల్ ఫ్యాక్టరైజేషన్
- మ్యాట్రిక్స్ రకం: జనరల్
- ఆపరేషన్: QR కారకాన్ని అమలు చేయండి
దశ 3: మీ కోడ్ని లింక్ చేయండి
మీ ప్రోగ్రామ్ లక్షణాల ప్రకారం లింక్ కమాండ్ను కాన్ఫిగర్ చేయడానికి oneMKL లింక్ లైన్ అడ్వైజర్ని ఉపయోగించండి.
కొన్ని పరిమితులు మరియు అదనపు అవసరాలు:
DPC++ కోసం Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ mkl_intel_ilp64 ఇంటర్ఫేస్ లైబ్రరీ మరియు సీక్వెన్షియల్ లేదా TBB థ్రెడింగ్ని మాత్రమే ఉపయోగించేందుకు మద్దతు ఇస్తుంది.
Linuxలో స్టాటిక్ లింక్తో DPC++ ఇంటర్ఫేస్ల కోసం
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 ${MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–start-group ${MKLROOT}/lib/intel64/libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/
libmkl_ .a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,–end-group -lsycl -lOpenCL -lpthread -ldl -lm
ఉదాహరణకుample, ilp64 ఇంటర్ఫేస్లు మరియు TBB థ్రెడింగ్తో main.cppని బిల్డింగ్/స్టాటిక్గా లింక్ చేయడం:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I${MKLROOT}/include main.cpp $
{MKLROOT}/lib/intel64/libmkl_sycl.a -Wl,–start-group ${MKLROOT}/lib/intel64/
libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/libmkl_tbb_thread.a ${MKLROOT}/lib/intel64/
libmkl_core.a -Wl,–end-group -L${TBBROOT}/lib/intel64/gcc4.8 -ltbb -lsycl -lOpenCL -lpthread -lm -ldl
Linuxలో డైనమిక్ లింక్తో DPC++ ఇంటర్ఫేస్ల కోసం
icpx -fsycl -DMKL_ILP64 -L$ {MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_ -lmkl_core -lsycl -lOpenCL -lpthread -ldl -lm
ఉదాహరణకుample, ilp64 ఇంటర్ఫేస్లు మరియు TBB థ్రెడింగ్తో main.cppని బిల్డింగ్/డైనమిక్గా లింక్ చేయడం:
icpx -fsycl -DMKL_ILP64 -I${MKLROOT}/include main.cpp -L${MKLROOT}/lib/intel64 -lmkl_sycl -lmkl_intel_ilp64 -lmkl_tbb_thread -lmkLcl_cod -lmkl_tbb_thread -lmkLcl_cod-thpen
Windowsలో స్టాటిక్ లింక్తో DPC++ ఇంటర్ఫేస్ల కోసం
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 “%MKLROOT%”\lib\intel64\mkl_sycl.lib
mkl_intel_ilp64.lib mkl_ .lib mkl_core_lib sycl.lib OpenCL.lib
ఉదాహరణకుample, ilp64 ఇంటర్ఫేస్లు మరియు TBB థ్రెడింగ్తో main.cppని బిల్డింగ్/స్టాటిక్గా లింక్ చేయడం:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I”%MKLROOT%\include” main.cpp”%MKLROOT%”\lib\intel64\mkl_sycl.lib mkl_intel_bklre.mkl_intel_bklre. sycl .lib OpenCL.lib tbb.lib
Windowsలో డైనమిక్ లింక్తో DPC++ ఇంటర్ఫేస్ల కోసం
icpx -fsycl -DMKL_ILP64 “%MKLROOT%”\lib\intel64\mkl_sycl_dll.lib mkl_intel_ilp64_dll.lib mkl_ _dll.lib mkl_core_dll.lib tbb.lib sycl.lib OpenCL.lib
ఉదాహరణకుample, ilp64 ఇంటర్ఫేస్లు మరియు TBB థ్రెడింగ్తో main.cppని బిల్డింగ్/డైనమిక్గా లింక్ చేయడం:
icpx -fsycl -fsycl-device-code-split=per_kernel -DMKL_ILP64 -I”%MKLROOT%\include” main.cpp “%MKLROOT%”\lib\intel64\mkl_sycl_dll.lib mkl_sycl_dll.lib mkl_inteldll. mkl_core_dll.lib tbb .lib sycl.lib OpenCL.lib
OpenMP ఆఫ్లోడ్ మద్దతుతో C/Fortran ఇంటర్ఫేస్ల కోసం
GPUకి OpenMP ఆఫ్లోడ్ ఫీచర్తో C/Fotran Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ ఇంటర్ఫేస్లను ఉపయోగించండి.
ఈ ఫీచర్ గురించి మరిన్ని వివరాల కోసం C OpenMP ఆఫ్లోడ్ డెవలపర్ గైడ్ని చూడండి.
GPUకి OpenMP ఆఫ్లోడ్ ఫీచర్ని ప్రారంభించడానికి C/Fortran oneMKL కంపైల్/లింక్ లైన్లకు క్రింది మార్పులను జోడించండి:
- అదనపు కంపైల్/లింక్ ఎంపికలు: -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl
- అదనపు oneMKL లైబ్రరీ: oneMKL DPC++ లైబ్రరీ
ఉదాహరణకుample, ilp64 ఇంటర్ఫేస్లు మరియు OpenMP థ్రెడింగ్తో Linuxలో main.cppని నిర్మించడం/ డైనమిక్గా లింక్ చేయడం:
icx -fiopenmp -fopenmp-targets=spir64 -mllvm -vpo-paropt-use-raw-dev-ptr -fsycl -DMKL_ILP64 -m64 -I$(MKLROOT)/include main.cpp L${MKLROOT}/lib/intel64 lmkl_sycl -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lsycl -lOpenCL -lstdc++ -lpthread -lm -ldl
అన్ని ఇతర మద్దతు ఉన్న కాన్ఫిగరేషన్ల కోసం, Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ లింక్ లైన్ అడ్వైజర్ని చూడండి.
మరిన్ని కనుగొనండి
వనరు: వివరణ
ట్యుటోరియల్: మ్యాట్రిక్స్ మల్టిప్లికేషన్ కోసం Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీని ఉపయోగించడం:
- ట్యుటోరియల్ - సి భాష
- ట్యుటోరియల్ - ఫోర్ట్రాన్ లాంగ్వేజ్
ఈ ట్యుటోరియల్ మీరు మాత్రికలను గుణించడానికి, మ్యాట్రిక్స్ గుణకారం యొక్క పనితీరును కొలవడానికి మరియు థ్రెడింగ్ని నియంత్రించడానికి oneMKLని ఎలా ఉపయోగించవచ్చో చూపిస్తుంది.
Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ (oneMKL) విడుదల నోట్స్ నియంత్రణ థ్రెడింగ్.
విడుదల గమనికలు కొత్త మరియు మార్చబడిన ఫీచర్లతో సహా oneMKL యొక్క తాజా విడుదలకు సంబంధించిన సమాచారాన్ని కలిగి ఉంటాయి. విడుదల గమనికలు విడుదలకు సంబంధించిన ప్రధాన ఆన్లైన్ సమాచార వనరులకు లింక్లను కలిగి ఉంటాయి. మీరు వీటిపై సమాచారాన్ని కూడా కనుగొనవచ్చు:
- రిలీజ్లో కొత్తదనం ఏముంది
- ఉత్పత్తి విషయాలు
- సాంకేతిక మద్దతు పొందడం
- లైసెన్స్ నిర్వచనాలు
Intel® oneAPI గణిత కెర్నల్ లైబ్రరీ
Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ (oneMKL) ఉత్పత్తి పేజీ. మద్దతు మరియు ఆన్లైన్ డాక్యుమెంటేషన్ కోసం ఈ పేజీని చూడండి.
Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ కుక్బుక్
Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీలో మాత్రికలను గుణించడం, సమీకరణాల వ్యవస్థను పరిష్కరించడం మరియు ఫోరియర్ పరివర్తన చేయడం వంటి వివిధ సంఖ్యాపరమైన సమస్యలను పరిష్కరించడంలో మీకు సహాయపడే అనేక రొటీన్లు ఉన్నాయి.
Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ వెక్టర్ గణాంకాల కోసం గమనికలు
ఈ పత్రం ఓవర్ని కలిగి ఉందిview, VSలో చేర్చబడిన యాదృచ్ఛిక సంఖ్య జనరేటర్ల వినియోగ నమూనా మరియు పరీక్ష ఫలితాలు.
Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ వెక్టర్ గణాంకాలు రాండమ్ నంబర్ జనరేటర్ పనితీరు డేటా
వెక్టార్ స్టాటిస్టిక్స్ (VS) యాదృచ్ఛిక సంఖ్య జనరేటర్ (RNG) ఉపయోగించి పొందిన పనితీరు డేటా CPE (మూలకానికి గడియారాలు) కొలత యూనిట్, ప్రాథమిక యాదృచ్ఛిక సంఖ్య జనరేటర్లు (BRNG), ఉత్పత్తి చేయబడిన పంపిణీ జనరేటర్లు మరియు ఉత్పత్తి చేయబడిన వెక్టర్ల పొడవుతో సహా.
Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ వెక్టర్ మ్యాథమెటిక్స్ పనితీరు మరియు ఖచ్చితత్వం డేటా
వెక్టర్ మ్యాథమెటిక్స్ (VM) వెక్టార్ ఆర్గ్యుమెంట్లపై ప్రాథమిక విధులను గణిస్తుంది. VM వెక్టర్స్పై పనిచేసే గణనపరంగా ఖరీదైన కోర్ మ్యాథమెటికల్ ఫంక్షన్ల (పవర్, త్రికోణమితి, ఎక్స్పోనెన్షియల్, హైపర్బోలిక్ మరియు ఇతరాలు) యొక్క అత్యంత ఆప్టిమైజ్ చేసిన అమలుల సమితిని కలిగి ఉంటుంది.
Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ సారాంశ గణాంకాల కోసం అప్లికేషన్ నోట్స్
సారాంశం గణాంకాలు అనేది Intel® oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ యొక్క వెక్టర్ స్టాటిస్టిక్స్ డొమైన్ యొక్క ఉపభాగం. సారాంశం గణాంకాలు మీకు ప్రారంభ గణాంక విశ్లేషణ కోసం విధులను అందిస్తుంది మరియు బహుళ-డైమెన్షనల్ డేటాసెట్ల సమాంతర ప్రాసెసింగ్ కోసం పరిష్కారాలను అందిస్తుంది.
LAPACK ఉదాampలెస్
ఈ పత్రం కోడ్ ex అందిస్తుందిamponeMKL LAPACK (లీనియర్ ఆల్జీబ్రా ప్యాకేజ్) రొటీన్ల కోసం les.
నోటీసులు మరియు నిరాకరణలు
పనితీరు పరీక్షలలో ఉపయోగించే సాఫ్ట్వేర్ మరియు పనిభారం ఇంటెల్ మైక్రోప్రాసెసర్లలో మాత్రమే పనితీరు కోసం ఆప్టిమైజ్ చేయబడి ఉండవచ్చు. SYSmark మరియు MobileMark వంటి పనితీరు పరీక్షలు నిర్దిష్ట కంప్యూటర్ సిస్టమ్లు, భాగాలు, సాఫ్ట్వేర్, ఆపరేషన్లు మరియు ఫంక్షన్లను ఉపయోగించి కొలుస్తారు. ఆ కారకాలలో ఏదైనా మార్పు ఫలితాలు మారడానికి కారణం కావచ్చు. మీరు ఆలోచించిన కొనుగోళ్లను పూర్తిగా మూల్యాంకనం చేయడంలో మీకు సహాయపడటానికి మీరు ఇతర సమాచారం మరియు పనితీరు పరీక్షలను సంప్రదించాలి, ఇతర ఉత్పత్తులతో కలిపి ఆ ఉత్పత్తి యొక్క పనితీరుతో సహా. మరింత పూర్తి సమాచారం కోసం సందర్శించండి www.intel.com/benchmarks.
ఇంటెల్ టెక్నాలజీలకు ప్రారంభించబడిన హార్డ్వేర్, సాఫ్ట్వేర్ లేదా సేవా క్రియాశీలత అవసరం కావచ్చు.
ఏ ఉత్పత్తి లేదా భాగం ఖచ్చితంగా సురక్షితంగా ఉండదు.
మీ ఖర్చులు మరియు ఫలితాలు మారవచ్చు.
© ఇంటెల్ కార్పొరేషన్. ఇంటెల్, ఇంటెల్ లోగో మరియు ఇతర ఇంటెల్ గుర్తులు ఇంటెల్ కార్పొరేషన్ లేదా దాని అనుబంధ సంస్థల ట్రేడ్మార్క్లు. ఇతర పేర్లు మరియు బ్రాండ్లు ఇతరుల ఆస్తిగా క్లెయిమ్ చేయబడవచ్చు.
ఉత్పత్తి మరియు పనితీరు సమాచారం
ఉపయోగం, కాన్ఫిగరేషన్ మరియు ఇతర కారకాల ద్వారా పనితీరు మారుతూ ఉంటుంది. వద్ద మరింత తెలుసుకోండి www.Intel.com/PerformanceIndex.
నోటీసు రివిజన్ #20201201
ఈ పత్రం ద్వారా ఏదైనా మేధో సంపత్తి హక్కులకు లైసెన్స్ (ఎక్స్ప్రెస్ లేదా ఇంప్లీడ్, ఎస్టోపెల్ ద్వారా లేదా ఇతరత్రా) మంజూరు చేయబడదు.
వివరించిన ఉత్పత్తులు డిజైన్ లోపాలు లేదా ఎర్రాటా అని పిలువబడే ఎర్రర్లను కలిగి ఉండవచ్చు, దీని వలన ఉత్పత్తి ప్రచురించబడిన స్పెసిఫికేషన్ల నుండి వైదొలగవచ్చు. అభ్యర్థనపై ప్రస్తుత క్యారెక్టరైజ్డ్ ఎర్రాటా అందుబాటులో ఉన్నాయి.
Intel అన్ని ఎక్స్ప్రెస్ మరియు ఇంప్లైడ్ వారెంటీలను నిరాకరిస్తుంది, పరిమితి లేకుండా, వర్తకం యొక్క సూచిత వారెంటీలు, నిర్దిష్ట ప్రయోజనం కోసం ఫిట్నెస్ మరియు ఉల్లంఘన రహితం, అలాగే పనితీరు, లావాదేవీల విధానం లేదా వాణిజ్యంలో వినియోగం నుండి ఉత్పన్నమయ్యే ఏదైనా వారంటీ.
పత్రాలు / వనరులు
![]() |
intel oneAPI మ్యాథ్ కెర్నల్ లైబ్రరీ [pdf] యూజర్ గైడ్ oneAPI గణిత కెర్నల్ లైబ్రరీ, గణిత కెర్నల్ లైబ్రరీ, కెర్నల్ లైబ్రరీ, లైబ్రరీ |