3 पॉइंट द्वारा GN⁺ 2023-12-31 | 1 टिप्पणियां | WhatsApp पर शेयर करें

वैज्ञानिक कंप्यूटिंग की बुनियाद

  • यह किताब वैज्ञानिक कंप्यूटिंग की सामान्य पृष्ठभूमि को कवर करती है, जिसमें computer architecture, parallel computer architecture, computer arithmetic, linear algebra, ODE/PDEs आदि शामिल हैं.
  • इसमें यह भी शामिल है कि बड़े computations में सब कुछ कैसे एक साथ जुड़ता है.

समानांतर प्रोग्रामिंग के लिए विज्ञान और इंजीनियरिंग

  • वैज्ञानिक कंप्यूटिंग का बड़ा हिस्सा किसी-न-किसी रूप में parallel programming को शामिल करता है.
  • यह MPI और OpenMP के आधुनिक versions का बेहतरीन परिचय है, जिसमें PETSc, Kokkos, Sycl, Co-array Fortran पर छोटे sections भी शामिल हैं.
  • C, Fortran, C++, और (MPI के मामले में) Python में MPI और OpenMP की coverage के लिए यह विशेष रूप से उल्लेखनीय है.

वैज्ञानिक प्रोग्रामिंग का परिचय

  • वैज्ञानिक और इंजीनियरिंग प्रोग्रामिंग मुख्य रूप से C/C++ और Fortran में की जाती है.
  • यह किताब आधुनिक C++17 (जो आजकल C पर अधिक पसंद किया जाता है) और Fortran2008 सिखाती है.
  • इसे वैज्ञानिक प्रोग्रामिंग का शून्य से परिचय या "C programmers के लिए C++" के रूप में पढ़ा जा सकता है.
  • इसमें कई लंबे programming projects शामिल हैं.

HPC वुडक्राफ्ट

  • वैज्ञानिक कंप्यूटिंग का ecosystem सिर्फ programming languages और parallel programming systems से कहीं अधिक व्यापक है.
  • compilers, build systems, source code management आदि की समझ जरूरी है, और यह किताब इन सबका कोई अंतिम संकलन बनने के बजाय scientific workflow की ओर झुकी हुई परिचयों की एक श्रृंखला प्रदान करती है.

Victor के बारे में

  • Victor Eijkhout Texas Advanced Computing Center में research scientist हैं.
  • ये पाठ्यपुस्तकें University of Texas at Austin में विभिन्न courses पढ़ाते समय तैयार की गईं.
  • अगर आपको लगता है कि इन किताबों को सार्वजनिक करके उन्होंने अपनी जिम्मेदारी से बढ़कर काम किया है, तो उन्हें coffee खरीदकर देना भी एक अच्छा तरीका है.

GN⁺ की राय

  • Victor Eijkhout की HPC पाठ्यपुस्तक श्रृंखला वैज्ञानिक कंप्यूटिंग की बुनियाद से लेकर parallel programming और वैज्ञानिक प्रोग्रामिंग के व्यावहारिक उपयोग तक व्यापक ज्ञान प्रदान करती है.
  • यह श्रृंखला शुरुआती software engineers के लिए high-performance computing (HPC) की दुनिया में प्रवेश करने का एक आवश्यक संसाधन हो सकती है.
  • विज्ञान और इंजीनियरिंग क्षेत्रों में computing skills के लगातार बढ़ते महत्व के बीच, ये पाठ्यपुस्तकें इस क्षेत्र के पेशेवरों के लिए बेहद उपयोगी और रोचक सामग्री साबित हो सकती हैं.

1 टिप्पणियां

 
GN⁺ 2023-12-31
Hacker News राय
  • हार्डवेयर और डेटा सेंटर के दृष्टिकोण से चर्चा

    • AWS में software/service पक्ष पर काम करने वाले एक उपयोगकर्ता ने डेटा सेंटर कर्मचारियों की बातें सुनकर समझा कि डेटा सेंटर की computing power बढ़ाना वास्तव में computing समस्या से ज़्यादा thermodynamics की समस्या है.
    • nodes इतने घने हो गए हैं कि power supply देना और heat बाहर निकालना बहुत कठिन समस्या बन गई है, और inefficiency मिल भी जाए तो उसे software update से ठीक नहीं किया जा सकता.
    • यह स्थिति लगभग 10 साल पहले की है, और यह आश्चर्यजनक है कि Amazon, जिसने internet bookstore के रूप में शुरुआत की थी, thermodynamics समस्याओं को हल करने की cutting edge पर है.
  • high-performance computing (HPC) और हार्डवेयर के बीच दूरी का एहसास

    • एक दिलचस्प बात उठाई गई कि HPC हार्डवेयर से कितनी हद तक abstracted है.
    • किताबें SPMD programming, algorithms, data structures, task parallelism, synchronization आदि पर focus करती हैं, लेकिन supercomputer memory systems, high-bandwidth interconnects (CXL), GPU architecture जैसी computer architecture details को लगभग छूती ही नहीं हैं.
    • यह जिज्ञासा जताई गई कि क्या abstraction और tools अब इतने अच्छे हो गए हैं कि इन details की चिंता करने की ज़रूरत नहीं, या फिर HPC practitioners को performance निकालने के लिए बहुत सा 'black-box' tuning करना पड़ता है.
  • Victor के resource collection की प्रशंसा

    • एक उपयोगकर्ता ने Victor द्वारा बनाए गए resource collection की सराहना की और कहा कि वे Victor को व्यक्तिगत रूप से नहीं जानते, लेकिन 1990s में UT Austin में PhD करते समय TACC resources का उपयोग कर चुके हैं.
    • उस समय programmers को अपना code parallelize करना पड़ता था और हार्डवेयर की समझ ज़रूरी थी. यह इसलिए था क्योंकि यह क्षेत्र अभी शुरुआती चरण में था, और समस्याओं का समाधान Cray ring binder और Gropp जैसे materials पढ़कर किया जाता था.
  • HPC के हार्डवेयर management पक्ष में रुचि

    • एक उपयोगकर्ता ने इस बात में रुचि दिखाई कि HPC में समस्याओं का पता कैसे लगाया जाए, उनका diagnosis कैसे किया जाए, reboot/reinstall/repair जैसे कदम कैसे लिए जाएँ, और इन्हें optimize करके सर्वोत्तम service level कैसे दिया जाए.
    • उन्होंने कहा कि जब node availability बनाम overall throughput जैसे कई लक्ष्यों को एक साथ optimize करना हो, तब अलग-अलग topologies का इन समस्याओं पर क्या असर पड़ता है और अन्य constraints क्या हैं, इस बारे में जानकारी ढूँढना कठिन था.
  • C++ सिखाने के तरीके पर राय की माँग

    • एक अनुभवी Python programmer ने लोगों से C++ सिखाने के तरीके पर विचार पूछे और जानना चाहा कि इसमें कोई खास कमी है या नहीं.
    • उस उपयोगकर्ता ने कहा कि वे अपनी C++ skills सुधारना चाहते हैं, और तीनों किताबें उन्हें अपने स्तर के लिए उपयुक्त लगती हैं.
  • लेखक द्वारा मुफ्त पाठ्यसामग्री देने पर प्रशंसा

    • एक उपयोगकर्ता ने इस बात पर आश्चर्य और प्रशंसा व्यक्त की कि लेखक ने C++ और Unix tools सहित एक व्यापक book set बनाया और उसे मुफ्त में साझा किया.
    • उन्होंने कहा कि यह सामग्री हर programmer के लिए उपयोगी है, भले ही वह high-performance computing में विशेष रूप से काम न करता हो.
  • scientific computing class पर पुनरावलोकन

    • 2013 में scientific computing class लेने वाले एक उपयोगकर्ता ने याद किया कि यह क्षेत्र इतना व्यापक था कि कई विषयों को केवल संक्षेप में ही पढ़ाया गया.
    • उन्होंने कहा कि parallel computing पर semester-long specialized course होता तो मदद मिलती, और ये किताबें ऐसे course के हिस्से के रूप में बहुत मूल्यवान होतीं.
  • HPC graduate course में TA प्रस्ताव का अनुभव

    • एक उपयोगकर्ता ने बताया कि 10 साल पहले उन्हें HPC graduate course में TA की भूमिका की पेशकश हुई थी, लेकिन उन्होंने उसे ठुकरा दिया था.
    • उन्होंने कहा कि अगर उस समय यह किताब होती, तो वे वह अवसर स्वीकार कर लेते, और लेखक की उपलब्धि की प्रशंसा की.
  • UT Austin की प्रशंसा

    • UT Austin को HPC और computational methods के क्षेत्र में उत्कृष्ट संस्थान बताया गया.
  • programmers के लिए उपयोगी सामग्री

    • कहा गया कि किताब की सामग्री सभी programmers के लिए उपयोगी है, खासकर तीसरी किताब में C++17 और Fortran2008 को सिखाने के contrasting approach के संदर्भ में.