භාවිතා කළ හැකි වේගවත් C ++ අනුකෘති පුස්තකාලයක් සඳහා නිර්දේශ?


159

භාවිතා කළ හැකි වේගවත් C ++ න්‍යාස පුස්තකාලයක් සඳහා යමෙකුට නිර්දේශ තිබේද?

භාවිතා කළ හැකි යැයි මා අදහස් කරන්නේ පහත දැක්වේ:

  • අනුකෘති වස්තූන්ට අවබෝධාත්මක අතුරු මුහුණතක් ඇත (උදා: සුචිගත කිරීමේදී මට පේළි සහ තීරු භාවිතා කළ හැකිය)
  • LAPACK සහ BLAS සමඟ මට කළ හැකි න්‍යාස පන්තිය සමඟ මට ඕනෑම දෙයක් කළ හැකිය
  • API ඉගෙන ගැනීමට සහ භාවිතා කිරීමට පහසුය
  • ලිනක්ස් හි ස්ථාපනය කිරීමට සාපේක්ෂව වේදනා රහිත ය (මම දැන් උබුන්ටු 11.04 භාවිතා කරමි)

මට නම්, නොමේරූ ප්‍රශස්තිකරණය වළක්වා ගැනීම සඳහා දැන් වේගය හෝ මතක භාවිතයට වඩා භාවිතාව වැදගත් ය. කේතය ලිවීමේදී, මට සෑම විටම 1-D අරා (හෝ එස්ටීඑල් දෛශික) සහ නිසි දර්ශකය හෝ දර්ශක අංක ගණිතය අනුකෘතියක් අනුකරණය කිරීමට භාවිතා කළ හැකි නමුත් දෝෂ මඟහරවා ගැනීමට මම කැමැත්තෙමි. මෙට්‍රික්ස් අරා ලෙස අනුකරණය කිරීමට මා භාවිතා කළ කුඩා ක්‍රමලේඛන උපක්‍රම සියල්ලම මතක තබා ගැනීම සඳහා මගේ සීමිත අවධානයෙන් කොටසක් භාවිතා කරනවාට වඩා, මගේ මානසික උත්සාහය විසඳීමට හා ගැටළු වසම තුළට වැඩසටහන් කිරීමට මම උත්සාහ කරමි. , සහ LAPACK විධානයන් මතක තබා ගන්න. ප්ලස්, මට ලිවීමට ඇති අඩු කේතය, සහ එය වඩාත් ප්‍රමිතිගත නම්, වඩා හොඳය.

විරල හා එදිරිව විරල වීම තවමත් වැදගත් නැත; මා සමඟ කටයුතු කරන සමහර න්‍යාසයන් විරල වනු ඇත, නමුත් ඒවා සියල්ලම නොවේ. කෙසේ වෙතත්, කිසියම් පැකේජයක් ense න හෝ විරල මෙට්‍රික්ස් හොඳින් හසුරුවන්නේ නම් එය සඳහන් කිරීම වටී.

සැකසීම මට එතරම් වැදගත් නැත, මන්ද මම සම්මත සංඛ්‍යා වර්ග සමඟ වැඩ කරන අතර ද්විත්ව, පාවෙන හෝ ඉන්ට් හැර වෙනත් කිසිවක් ගබඩා කිරීමට අවශ්‍ය නොවේ. එය හොඳයි, නමුත් මම කරන්න කැමති දේ සඳහා අවශ්‍ය නොවේ.


1
CUDA භාවිතා කිරීම විකල්පයක්ද?
ෆ්ලිප්චාර්ට්

1
එය පසුව විය හැකිය. මම දැන් CUDA ගැන උනන්දු නොවෙමි, මන්ද මම යෙදුමක් සඳහා පුස්තකාලයක් ගොඩනඟන්නේ මගේ අවශ්‍යතාවයන්ගෙන් අවම වශයෙන් න්‍යාස ගුණනය වන බැවිනි. උත්සාහයෙන් වැඩි ප්‍රමාණයක් මිශ්‍ර-පූර්ණ සංඛ්‍යා රේඛීය ක්‍රමලේඛ විසඳුමක් ඇමතීම සඳහා වැය කරනු ඇත, එබැවින් CUDA භාවිතා කිරීම අධික ලෙස මරා දමනු ඇත. මගේ නිබන්ධනය අවසන් කිරීමෙන් පසුව, වඩාත් රේඛීය වීජ ගණිත බර හා අඩු ප්‍රශස්තිකරණ කේන්ද්‍රීය ඇල්ගොරිතම දෙස බැලීමට මම සැලසුම් කරමි. CUDA පුස්තකාල ගැන පළ කිරීමට මම අනිවාර්යයෙන්ම ඔබව උනන්දු කරවන්නෙමි, නමුත් ඔබට ඒවා සමඟ අත්දැකීම් තිබේ නම්, අනෙක් අය ඔබේ අදහස් දැන ගැනීමට උනන්දු වනු ඇතැයි මට විශ්වාසයි.
ජෙෆ් ඔක්ස්බෙරි

ඉන්ටෙල් එම්කේඑල් සහ අයිපීපී ගැන කුමක් කිව හැකිද?
රෝයි

Answers:


147

මම මේ දක්වා සබැඳි පර්යේෂණ වලින් පහත සඳහන් දෑ රැස් කර ඇත්තෙමි:

මම ආමඩිලෝ ටිකක් භාවිතා කර ඇති අතර අතුරු මුහුණත ප්‍රමාණවත් තරම් බුද්ධිමත් බව සොයාගෙන ඇති අතර උබුන්ටු සඳහා ද්විමය පැකේජ සොයා ගැනීම පහසු විය (මම වෙනත් ලිනක්ස් ඩිස්ට්‍රෝස් උපකල්පනය කරමි). මම එය ප්‍රභවයෙන් සම්පාදනය කර නැත, නමුත් මගේ බලාපොරොත්තුව එය එතරම් අපහසු නොවනු ඇත යන්නයි. එය මගේ නිර්මාණ නිර්ණායක බොහොමයක් සපුරාලන අතර line න රේඛීය වීජ ගණිතය භාවිතා කරයි. එයට LAPACK හෝ MKL චර්යාවන් ඇමතිය හැකිය. සාමාන්‍යයෙන් ආමඩිලෝ සම්පාදනය කිරීමේ අවශ්‍යතාවයක් නොමැත, එය තනිකරම අච්චු මත පදනම් වූ පුස්තකාලයකි: ඔබ ශීර්ෂකය ඇතුළත් කර BLAS / LAPACK හෝ MKL යනාදිය සම්බන්ධ කරන්න.

මම අයිජන් ගැන හොඳ දේවල් අසා ඇත්තෙමි , නමුත් එය භාවිතා කර නැත. එය වේගවත් යැයි කියා , සැකිලි භාවිතා කරන අතර line න රේඛීය වීජ ගණිතයට සහය දක්වයි. එයට යැපීමක් ලෙස LAPACK හෝ BLAS නොමැත, නමුත් LAPACK හට කළ හැකි සෑම දෙයක්ම කළ හැකි බව පෙනේ (LAPACK හට කළ නොහැකි සමහර දේවල්). ව්‍යාපෘති රාශියක් අයිජන් භාවිතා කරයි. එහි උබුන්ටු සඳහා ද්විමය පැකේජයක් ඇත, නමුත් ශීර්ෂ-පමණක් පුස්තකාලයක් ලෙස එය වෙනත් තැනක භාවිතා කිරීම සුළුපටු ය.

එම නියමයන් සැකිල්ල පුස්තකාලය වෙළුම 4 ද පොරොන්දු, සහ භාවිතා templating බලයි. එය and න සහ විරල රේඛීය වීජ ගණිතයට සහාය වන අතර UMFPACK විරල ද්‍රාවකයක් ලෙස හැඳින්විය හැකිය. ඔවුන්ගේ වෙබ් අඩවියෙන් විශේෂාංග තරමක් අපැහැදිලි ය. එය උබුන්ටු සඳහා ද්විමය පැකේජයක් ඇත, එය ඔවුන්ගේ වෙබ් අඩවියෙන් බාගත හැකිය.

ආර්ගොන් ජාතික රසායනාගාරයේ කණ්ඩායමක් විසින් ලියන ලද පීඊටීඑස්සී හි විරල හා line න රේඛීය විසඳුම් සඳහා ප්‍රවේශය ඇත, එබැවින් එය අනුකෘති පුස්තකාලයක් ලෙස ක්‍රියා කළ හැකි යැයි මම සිතමි. එය C හි ලියා ඇත, නමුත් C ++ බන්ධන ඇත, මම සිතමි (එය එසේ නොවුවද, C ++ වෙතින් C ඇමතීමෙන් කිසිදු ගැටළුවක් නොමැත). ප්‍රලේඛනය ඇදහිය නොහැකි තරම් ගැඹුරු ය. පැකේජය මට දැන් කිරීමට අවශ්‍ය දේ සඳහා තරමක් අධිකයි (මිශ්‍ර-පූර්ණ සංඛ්‍යා රේඛීය වැඩසටහන් සැකසීම සඳහා අනුකෘති ගුණ කිරීම සහ සුචිගත කිරීම), නමුත් අනාගතයේදී මට හෝ විවිධ අවශ්‍යතා ඇති වෙනත් පුද්ගලයින්ට මෙය අනුකෘති ආකෘතියක් ලෙස ප්‍රයෝජනවත් විය හැකිය. මට වඩා.

සැන්ඩියා ජාතික රසායනාගාරයේ කණ්ඩායමක් විසින් ලියන ලද ට්‍රිලිනෝස් , එපෙට්‍රා සං component ටකය හරහා ense න සහ විරල මෙට්‍රික්ස් සඳහා වස්තු-නැඹුරු සී ++ අතුරුමුහුණත් සහ එහි ටෙපෙට්‍රා සංරචකය හරහා ense න සහ විරල මෙට්‍රික්ස් සඳහා සැකසූ අතුරු මුහුණත් සපයයි. රේඛීය විසඳුම් සහ අයිජන්සෝල්වර් ක්‍රියාකාරිත්වය සපයන සංරචක ද එහි ඇත. ප්‍රලේඛනය PETSc තරම් ඔප දැමූ හෝ කැපී පෙනෙන බවක් නොපෙනේ; ට්‍රිලිනෝස් PETSc හි සැන්ඩියා ඇනලොග් මෙන් පෙනේ. PETSc ට සමහර ට්‍රිලිනෝස් විසඳුම් අමතන්න. ට්‍රිලිනෝස් සඳහා ද්විමය ලිනක්ස් සඳහා ලබා ගත හැකිය.

බ්ලිට්ස් යනු ලිනක්ස් ද්විමය ඇති C ++ වස්තු-නැඹුරු පුස්තකාලයකි. එය ක්‍රියාශීලීව නඩත්තු කරන බවක් නොපෙනේ (2012-06-29: නව සංස්කරණයක් ඊයේ දර්ශනය විය!), තැපැල් ලැයිස්තුව සක්‍රීය වුවද, එය භාවිතා කරන සමහර ප්‍රජාවක් ඇත. එය BLAS වලින් ඔබ්බට සංඛ්‍යාත්මක රේඛීය වීජ ගණිතයේ බොහෝ දේ කරන බවක් නොපෙනෙන අතර mat න අනුකෘති පුස්තකාලයක් මෙන් පෙනේ. එය සැකිලි භාවිතා කරයි.

Boost :: uBLAS යනු C ++ වස්තු-නැඹුරු පුස්තකාලයක් වන අතර එය Boost ව්‍යාපෘතියේ කොටසකි. එය සැකිලි හා num න සංඛ්‍යාත්මක රේඛීය වීජ ගණිතයට සහාය වේ. මම අහලා තියෙනවා ඒක විශේෂයෙන් වේගවත් නැහැ කියලා.

මෙම සැකිල්ල සංඛ්යාත්මක උපාංග කට්ටලය දී NIST විසින් සංවර්ධනය කරන ලද C ++ වස්තුව-අභිමුඛ පුස්තකාලයකි. එහි කතුවරයා වන රොල්ඩන් පොසෝ ඉඳහිට පැච් සඳහා දායක වන බවක් පෙනේ, නමුත් එය තවදුරටත් ක්‍රියාකාරී සංවර්ධනය වෙමින් පවතින බවක් නොපෙනේ (අවසන් යාවත්කාලීන කිරීම 2010 විය). එය line න රේඛීය වීජ ගණිතය කෙරෙහි අවධානය යොමු කරන අතර සමහර මූලික අනුකෘති විසංයෝජනයන් සඳහා සහ අතුරු මුහුණත් විසඳුම් සඳහා අතුරු මුහුණත් සපයයි.

මූලද්රව්ය ජැක් Poulson විසින් සංවර්ධනය කරන, ව්යාප්ත මතකය (සමාන්තර) ඝන රේඛීය වීජ ගණිතය මෘදුකාංග සමාන ආකාරයේ ලියා පැකේජය දැල්ල . ව්‍යාපෘතියේ විශේෂාංග සහ පසුබිම ලැයිස්තුවක් සඳහා, ඔහුගේ ලියකියවිලි බලන්න . FLAME හි අනුක්‍රමික හා හවුල්-මතක line න රේඛීය වීජ ගණිතය සඳහා පුස්තකාලයක් ඇත, එය ලිබ්ෆ්ලේම් ලෙස හැඳින්වේ , එය වස්තු-නැඹුරු සී වලින් ලියා ඇති බව පෙනේ. රේඛීය වීජ ගණිත පුස්තකාල විද්‍යාවට වඩා වැඩි ප්‍රමාණයක් සහ කළු කලාවකට වඩා අඩුය.

ලැයිස්තුවට එකතු කළ හැකි වෙනත් පුස්තකාල තිබේ; අපි විරල රේඛීය වීජ ගණිත පැකේජ "අනුකෘති පුස්තකාල" ලෙස ගණන් ගන්නේ නම්, සී හි මා දන්නා හොඳම නිදහස් එක වන්නේ සූට් ස්පාර්ස් ය . මම සූට්ස්පාර්ස් භාවිතා කර ඇති අතර එය ගැනීම පහසුය. කුඩා, ense න රේඛීය වීජ ගණිත උපප්‍රශ්න රාශියකට විරල ගැටළු දිරාපත් කරන සමහර ඇල්ගොරිතම සඳහා එය BLAS සහ LAPACK මත රඳා පවතී. පැකේජයේ ප්‍රධාන කතුවරයා වන ටිම් ඩේවිස් ඇදහිය නොහැකි තරම් උපකාරී වන අතර සර්වබලධාරී පුද්ගලයෙකි.

මෙම Harwell Subroutine පුස්තකාල ඔවුන්ගේ විරල රේඛීය වීජ ගණිතය චර්යාවන් ප්රසිද්ධ වන අතර, ඔබ විසින් ආකෘති පත්රය පුරවා සහ ඔබට බාගත කිරීමට අවශ්ය බව එක් එක් ගොනුව සඳහා ඉ-තැපැල් ලැබීමෙන් මෙම ක්රියාවලිය හරහා යන්න නමුත්, අධ්යයන පරිශීලකයන් සඳහා නොමිලේ. සබ්ට්‍රවුටින් බොහෝ විට පරායත්තතා ඇති බැවින්, එක් ද්‍රාවකයක් භාවිතා කිරීම සඳහා ලිපිගොනු පහක් හෝ හයක් බාගත කිරීම අවශ්‍ය විය හැකි අතර, ක්‍රියාවලිය තරමක් වෙහෙසකර විය හැකිය, විශේෂයෙන් ආකෘති අනුමත කිරීම ක්ෂණික නොවන නිසා.

වෙනත් විරල රේඛීය වීජ ගණිත විසඳුම් ද ඇත, නමුත් මට කිව හැකි පරිදි, MUMPS සහ වෙනත් පැකේජ වැඩි වශයෙන් යොමු වී ඇත්තේ රේඛීය පද්ධතිවල විසඳුම කෙරෙහි වන අතර රේඛීය පද්ධති විසඳීම මගේ කනස්සල්ලෙන් අවම වේ. (සමහර විට පසුව, මට එම ක්‍රියාකාරීත්වය අවශ්‍ය වනු ඇති අතර එය අන් අයට ප්‍රයෝජනවත් විය හැකිය.)


2
මම හිතන්නේ ඔබ ඊජන් සමඟ මූලද්‍රව්‍ය සමඟ පටලවා ඇත; ව්‍යාපෘතිය ගැන මා තුළ පැහැදීමක් තිබුණද මම අයිජන් පිළිබඳ වැඩ කර නැත. මූලද්‍රව්‍ය ප්‍රධාන වශයෙන් ඉලක්ක කරන්නේ බෙදා හරින ලද මතක යන්ත්‍ර ය.
ජැක් පෝල්සන්

3
මම හිතන්නේ මගේ පළමු ප්‍රශ්නය වනු ඇත්තේ: ඔබට කවදා හෝ සමාන්තරව කිසිවක් ක්‍රියාත්මක කිරීමට අවශ්‍යද?
මැට් නප්ලි

1
මම ට්‍රිලිනෝස් ගැන සඳහන් කළ යුතුයි ... එය මෙහි විශාල දෘශ්‍යතාවයක් ලබා නොගත්තද (එය තවමත්), එය PETSc සඳහා ශක්‍ය විකල්පයක් වන අතර, සැකසූ අනුකෘති පැකේජයක්, අයිජන්සෝල්වරයක් සහ විරල න්‍යාස විසඳුම් ද ඇත, එයට පැකේජයක් ද ඇත විශේෂයෙන් අදහස් කළේ ඇල්ගොරිතමයක පොත් තැබීම සාරාංශ කිරීම සඳහා වන අතර එය කොතරම් හොඳින් ක්‍රියාත්මක වේදැයි මම නොදනිමි.
ඇන්ඩ rew ස්පොට්

1
අයිජන් විශිෂ්ටයි - මගේ සගයකු එය වෘත්තීය සන්දර්භයක් තුළ භාවිතා කළ අතර, එමඟින් කාර්ය සාධනය කැප නොකර ඔබට ඉක්මනින් නැගිටීමට හැකි වේ.
qdot

7
ඔබගේ පිළිතුරට මම පහත පුස්තකාල ද එක් කරමි: වියානා සීඑල් - අයිජන් සහ එම්ටීඑල් සමඟ සම්බන්ධ විය හැකි OpenCL මත පදනම් වූ සී ++ ශීර්ෂ පුස්තකාලය. ප්ලාස්මා - ටයිල් මත පදනම් වූ විසංයෝජනයන්ගෙන් සමන්විත BLAS සහ LAPACK පුස්තකාලවල UTK මත පදනම් වූ ප්‍රතිනිර්මාණයකි. මැග්මා - LAPACK / BLAS කාර්ය සාධනය වැඩි දියුණු කිරීම කෙරෙහි අවධානය යොමු කරන තවත් UTK ව්‍යාපෘතියකි.
ඇරොන් අහමඩියා

24

විද්‍යාත්මක පුස්තකාලයක් සඳහා රේඛීය වීජ ගණිත පුස්තකාලයක් තෝරා ගැනීම සඳහා මෙම ලේඛනය 2009 මාර්තු මාසයේදී ලියා ඇත. එය පුස්තකාල කිහිපයක් සඳහා අතේ ගෙන යා හැකි බව, ඉහළ මට්ටමේ අතුරු මුහුණතක් සහ බලපත්‍ර ලබා දීම ඇගයීමට ලක් කරයි. එය විශේෂයෙන් ප්රිය කරන බව පෙනේ Flens හා ගන්ට කල් . (අවශ්‍යතාවයන්ගෙන් එකක් වූයේ සී ++ සැකිලි සහ විරල මෙට්‍රික්ස් සඳහා සහාය වීමයි.)


17

ඉහත ලැයිස්තුගත කර ඇති සියලුම ව්‍යාපෘති අතුරින් අතිශයින්ම පුළුල් ලෙස භාවිතා වන බර පඩි දෙකක් පමණක් ඇත (සහ හොඳ හේතු නිසා): පීඊටීඑස්සී සහ ට්‍රිලිනෝස්. දෙකම වෘත්තීයමය වශයෙන් සංවර්ධනය කර ඇති අතර විශාල සංවර්ධක පදනමක් ඇත. අනෙක් සියල්ලම මේ දෙකට සාපේක්ෂව කුඩා ව්‍යාපෘති වන අතර, මම ඔවුන් සමඟ යාමට නිර්දේශ කරමි. (I) ඔවුන්ට ඉදිරි කාලය සඳහා සහය ලැබෙනු ඇති අතර (ii) ඔබට දැනටමත් අවශ්‍ය වන සියලුම ක්‍රියාකාරකම් ඔවුන් සතුව තිබිය හැකිය. රේඛීය වීජ ගණිතය (සහ ඊට වඩා බොහෝ දේ).


4
PETSc හි ScaLAPACK සහ PLAPACK වෙත තරමක් වියුක්ත අතුරුමුහුණතක් ඇතුළත් නොවේ. ජෙෆ් පහසු line න රේඛීය වීජ ගණිතය ගැන උනන්දුවක් දක්වන්නේ නම්, මම සිතන්නේ පීඊටීඑස්සී අධික ලෙස මරණයට පත්ව ඇති බවය (අදහස් දැක්වීමට ට්‍රිලිනෝස්ගේ හැකියාවන් ගැන මම නොදනිමි)
ඇරොන් අහමඩියා

@AronAhmadia: මේ අවස්ථාවේ දී, පිළිතුර ප්‍රජා විකී සම්පතකට වඩා වෙනස් වී ඇති බව මම සිතමි, මේ නිසා මම විවරණකරුවන්ගේ ඉල්ලීම පරිදි පැකේජ එකතු කර ඇත්තෙමි.
ජෙෆ් ඔක්ස්බෙරි

3
@ වුල්ෆ්ගැන්ග්බන්ගර්ත්: නිර්මාණ අරමුණු සඳහන් කිරීම වැදගත් යැයි මම සිතමි. ඉලක්කය වන්නේ දිගුකාලීන හා වෙනත් අය විසින් භාවිතා කිරීමට අදහස් කරන මෘදුකාංගයක් ලිවීම සහ රේඛීය වීජ ගණිතය එම මෘදුකාංගයේ අනිවාර්ය අංගයක් නම්, PETSc සහ Trilinos හොඳ තේරීම් වේ. කෙසේ වෙතත්, වඩා සැහැල්ලු විකල්ප වඩාත් යෝග්‍ය හා ප්‍රයෝජනවත් වන අවස්ථා තිබේ, මන්ද ඒවාට සරල ඒපීඅයි ඇති අතර කේත පේළි කිහිපයකින් එකම කාර්යය ඉටු කළ හැකිය. අවසාන වශයෙන්, තේරීම් නැඹුරුව කේතවල පැවැත්ම සඳහා භූමිකාවක් ඉටු කරයි. කිසිවෙකු කුඩා කේත භාවිතා නොකරන්නේ නම්, ඒවා PETSc සහ Trilinos වැනි පදනමක් නොපවතිනු ඇත.
ජෙෆ් ඔක්ස්බෙරි

1
ජෙෆ් පැවසූ දෙයට එකතු කිරීම සඳහා, පීඊටීඑස්සී සහ ට්‍රිලිනෝස් හි ක්‍රියාකාරීත්වයේ අතිමහත් බහුතරය පැමිණෙන්නේ බාහිර පුස්තකාල වටා ඇති එතීමෙනි. කිසිවෙකු භාවිතා නොකළ යුතු යැයි පැවසීම බාහිර පුස්තකාල කෙලින්ම මට අමුතු දෙයක් ලෙස පෙනේ.
ජැක් පෝල්සන්

1
Ack ජැක්පෝල්සන්: මම ඇත්ත වශයෙන්ම මගේ අදහස් දැක්වීමට එකඟ වෙමි. ඔව්, PETSc තනි පැකේජ රාශියක් ආවරණය කරයි. නමුත් එය එසේ කරන්නේ ඒකාකාර අතුරුමුහුණතක් සමඟ වන අතර ඒ නිසා එක් එක් පැකේජවල සුවිශේෂතා ඉගෙනීමේ සම්මුතිය හා ශෛලිය ඉගෙනීමට වඩා මෙය ඉගෙන ගැනීම සරල ය. වෙනත් වචන වලින් කිවහොත්, එක් එක් ව්යාපෘතිය ඔතා ඇති පැකේජ සමානව භාවිතා කළ හැකි වුවද, සෑම විටම PETSc හරහා ඒවා භාවිතා කිරීමෙන් ලැබෙන සහජීවනයක් ඇත.
වුල්ෆ්ගැන්ග් බැන්ගර්ත්

11

ඔයාට අවශ්ය නම්

  • බුද්ධිමය අතුරු මුහුණතක් සහිත අනුකෘති පන්ති
  • සියලුම LAPACK සහ BLAS විශේෂාංග
  • API ඉගෙන ගැනීමට සහ භාවිතා කිරීමට පහසුය
  • ස්ථාපනය කිරීම පහසුය

මගේ පුස්තකාලය FLENS දෙස බැලීමට මම ඔබට නිර්දේශ කරමි . මම එය නිර්මාණය කළේ හරියටම මේ ආකාරයේ කාර්යයන් සඳහා ය. කෙසේ වෙතත්, එයට C ++ 11 අනුකූලතා සම්පාදකයක් අවශ්‍ය වේ (උදා: gcc 4.7 හෝ clang).

ෆ්ලෙන්ස් ඔබට යටින් පවතින බ්ලස් ක්‍රියාත්මක කිරීම හා සමාන කාර්ය සාධනයක් ලබා දෙයි. මෙය පෙන්වන සමහර (තරමක් පැරණි) මිණුම් සලකුණු තිබේ

FLENS-LAPACK ගැනද එයම පැවසිය හැකිය, එම BLAS ක්‍රියාත්මක කිරීම භාවිතා කරන්නේ නම් එය ඔබට Netlib හි LAPACK හා සමාන කාර්ය සාධනයක් ලබා දෙයි.

නව මිණුම් සලකුණු සම්බන්ධයෙන් මට වඩාත් විස්තරාත්මකව බැලීමට ඉඩ දෙන්න ...

කලකට පෙර මම ක්ලින්ට් වේලි (ඇට්ලස් හි කතුවරයා) ඇසුවේ අයිජන් අඩවියේ පළ වූ මිණුම් සලකුණු ගැන ඔහු සිතන්නේ කුමක්ද යන්නයි. මෙම මිණුම් සලකුණු බොහෝ දුරට විශ්වාසදායක නොවන බව ඔහු මගේ සැකකරු තහවුරු කළේය. මේ අතර ක්ලින්ට් යෝජනා කළ ආකාරයට තවත් අවබෝධ කරගත් මිණුම් සලකුණු කිහිපයක්. විස්තර ඇට්ලස් වෙබ් අඩවියෙන් සහ අයිජන් තැපැල් ලැයිස්තුවෙන් සොයාගත හැකිය. මිණුම් සලකුණු ප්‍රස්ථාරවල මනාව ඉදිරිපත් කර නැති නමුත් ඒවා පෙන්වන්නේ ඇට්ලස් සෑම විටම අයිජන්ට වඩා 40% ක් වේගවත් බවයි. මෙය ඊජන් වෙබ් අඩවියෙන් ලැබෙන මිණුම් සලකුණු වලට පටහැනි නමුත් වෙනත් මිණුම් සලකුණු සනාථ කරයි (උදා: බ්ලේස්-ලිබ් වෙතින්).

සංඛ්‍යාත්මක රේඛීය වීජ ගණිතය සඳහා අනුකෘති-අනුකෘති නිෂ්පාදන වඩාත් අදාළ බව සලකන්න. පුද්ගලිකව මම අයිජන් හෝ ඇට්ලස් වේගවත් දැයි ගණන් ගන්නේ නැත. අයිජන් ඇට්ලස් වලට වඩා වේගවත් නම් මම ඊජන් බ්ලස්-බැකෙන්ඩ් ලෙස භාවිතා කරමි.

වියාචනය: ඔව්, ෆ්ලෙන්ස් මගේ බබා! ඒ කියන්නේ මම එයින් 95% ක් පමණ කේතනය කළ අතර සෑම කේත පේළියක්ම එය වටී :-)


1
හරි, මම දැනට පවතින git repo වෙතින් නව ලියකියවිලි නිර්මාණය කර එය වෙනත් සේවාදායකයක පිටපත් කළෙමි
මයිකල්

3

මම කාලයක් තිස්සේ GMM ++ භාවිතා කර ඇති අතර ඒ ගැන මම සතුටු වෙමි.


2

මූලික වශයෙන් එකම ප්‍රශ්නය SO මත මතු විය:

වැඩිපුරම භාවිතා වන C ++ දෛශික / අනුකෘති ගණිත / රේඛීය වීජ ගණිත පුස්තකාල සහ ඒවායේ පිරිවැය සහ ප්‍රතිලාභ වෙළඳාම කුමක්ද?

(එය ජෙෆ්ගේ පිළිතුරට යම් වටිනාකමක් එක් කරයි.)


1

ආමඩිලෝ, බූස්ට් සහ තවත් අය දැන් සීඑම්පී හි කොටසක් ලෙස ඇතුළත් කර ඇත. Http://www.ceemple.com වෙතින් ලබා ගත හැකිය (නොමිලේ) .


0

පුදුමයට කරුණක් නම් කිසිවෙකු මෙතෙක් ටූන් ගැන සඳහන් කර නැත. දැන් අවුරුදු 3 කට ආසන්න කාලයක් සතුටින් එය භාවිතා කරන්න.

එය විස්තීර්ණ නොවූවත් අයිජන්ට බොහෝ සෙයින් සමාන ය . කෙසේ වෙතත්, එය යම් ආකාරයකින් වඩා හොඳ සින්ටැක්ස් ඇති බව මම සිතමි.

බොරු කණ්ඩායම් (විශේෂ යුක්ලීඩියානු / විකලාංග 2 සහ 3 මානයන් ආදිය) සහ ඒ හා සම්බන්ධ ලයි ඇල්ගීබ්‍රාස් මත පදනම්ව ග්‍රැෆික්ස් සහ දැක්මෙහි නිතර දක්නට ලැබෙන පොදු පරිවර්තනයන් ආකෘතිකරණය කිරීමට උපකාරී වන පන්ති ද මෙහි ඇත.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.