Bersamaan dengan penelitian saya pada Metode Ruang Krylov, saya memiliki pilihan untuk mengeksplorasi matematika di belakang HPC selangkah lebih maju atau teori komputasi (perangkat keras, OS, kompiler dll.). Saat ini, saya tahu baik cukup untuk hanya mendapatkan oleh. Sebagai contoh, saya tahu bagaimana menurunkan persamaan untuk CG dan dasar-dasar metode iteratif tapi saya tidak mengerti tentang detail dan hal-hal yang lebih rumit seperti Prekondisi dan Konvergensi. Demikian pula, saya tahu dasar-dasar Metode Elemen Hingga (Bentuk Lemah, Bentuk tidak lemah, hal-hal seperti Codomain dan Galerkin dan hal-hal lain) tetapi tidak akan tahu kedalamannya. Di depan komputasi, saya tahu bagaimana cara membuat kode serial dalam semua bahasa yang mungkin dan dapat menggunakan OpenMP dan MPI dengan cukup baik. Saya tidak mengerti hardware dan melakukan caching dengan baik.
Pertanyaan saya adalah: Apa yang harus dikonsentrasikan pada: Matematika atau Komputasi? Apakah mereka tidak dapat dipisahkan dalam HPC? Apakah disarankan agar yang satu belajar tentang yang satu dan bukan yang lainnya?
EDIT: Saya saat ini mengambil jurusan Teknik Mesin (yang saya sesali) dan memiliki banyak kursus di bidang teknik dan komputasi (cairan, perpindahan panas dan sebagainya). Saya akan bergabung dengan sekolah pascasarjana untuk HPC tahun ini dan saya ingin memperkuat beberapa aspek (Matematika / Komp / Hibrid) sebelum saya memulai studi pascasarjana. Saya suka matematika dan comp sama (jadi "Lakukan apa yang Anda sukai lebih" berlebihan).
sumber
HPC adalah perpaduan matematika, komputasi, ilmu komputer, dan aplikasi. Anda harus bisa memahami semuanya agar benar-benar sukses dalam jangka panjang. Namun, Anda tidak perlu mencapai tingkat kemahiran yang sama dalam semua itu.
Dalam argumen perhitungan versus matematika, untuk seorang insinyur, saya berpendapat masalah implementasi numerik lebih penting pada awalnya. Jika Anda menunggu sampai Anda mempelajari teori matematika dan kemudian mulai implementasi, Anda mungkin menghabiskan waktu lama untuk mengerjakan hal-hal yang, walaupun pasti bermanfaat, mungkin tidak secara langsung memengaruhi penelitian tesis Anda.
Jadi, saya akan cenderung memahami aspek komputasi pada awalnya, dan kemudian kembali dan mengisi lubang dalam teori matematika. Masalah perangkat keras juga dapat dipelajari - tetapi banyak hal yang mempengaruhi perangkat lunak juga akan tergantung pada platform, jadi sekali lagi, ini mungkin bukan item pertama dalam agenda Anda.
Orang lain tentu saja tidak setuju dengan saya; seperti yang Anda nyatakan, ini lebih merupakan opini daripada pertanyaan faktual.
sumber
Ikuti kursus sebanyak mungkin di keduanya. Saya melakukannya, dan saya tidak menyesalinya.
Dengan asumsi Anda tertarik pada karier penelitian, Anda bisa sukses dengan campuran keduanya. Temukan kolaborator yang ilmunya melengkapi pengetahuan Anda. Saya tahu sejumlah besar matematika karena berkaitan dengan akurasi dan stabilitas metode numerik, tetapi lebih sedikit tentang HPC. Saya memiliki kolaborator yang mengenal HPC dengan sangat baik, jadi bekerja bersama kita bisa mendapatkan metode numerik inovatif yang berjalan pada mesin besar. Saya melakukan matematika dan mereka melakukan perhitungan, sebagian besar.
Yang mengatakan, saya pikir matematika itu
sedangkan topik HPC
Ini adalah generalisasi berlebihan dan pasti akan menarik komentar yang tidak setuju. Tapi saya pikir ada kebenarannya.
sumber
Saya setuju dengan aeismail dan Oxberry. Saya memutuskan untuk menulis jawaban karena Anda tampaknya menghadapi pertanyaan yang sama dengan yang saya coba temukan jawabannya tahun lalu. Saya juga mengambil jurusan teknik mesin (dan membencinya, khususnya mekanik padat), saya menghabiskan banyak waktu bekerja dengan metode numerik dalam CFD atau optimasi. Sekarang saya sedang melakukan master dalam Matematika Terapan dan Ilmu Komputasi. Dari sudut pandang saya, Anda pertama-tama harus memutuskan apa yang ingin Anda lakukan di masa depan. Jika Anda ingin masuk ke pemodelan atau pengembangan metode numerik maka Anda harus pergi ke matematika. Saya menghabiskan dua tahun bekerja dengan metode Volume Hingga dan Elemen Hingga tanpa mengetahui dasar yang dalam dan sekarang saya mengambil kelas dalam matematika terapan, semuanya lebih masuk akal bagi saya. Saya menyadari bagaimana metode bekerja dengan tepat dan saya tidak lagi berjalan membabi buta hanya dengan bereksperimen dengan segalanya. Ini menghemat banyak waktu dan tenaga. Tetapi jika Anda memutuskan ingin mengembangkan perangkat lunak dan topik terkait maka Anda mungkin ingin fokus pada bagian HPC. Dalam pengalaman saya, ada banyak paket di luar sana yang dioptimalkan dan siap digunakan untuk banyak aplikasi numerik. Jadi itu bukan ide terbaik bagi saya untuk menghabiskan banyak waktu mengembangkan perangkat lunak saya sendiri jadi saya memutuskan untuk bekerja lebih banyak pada bagian matematika.
sumber
Saya tidak percaya pada dikotomi teori / aplikasi, tetapi juga penting untuk mendekati bidang dengan cara yang tidak sepenuhnya di luar konteks. Memahami teori saya pikir memberi Anda intuisi umum tentang masalah yang sangat berharga karena membuat Anda tidak harus fokus pada beton setelah beton (yaitu satu implementasi tertentu versus yang lain), dan memungkinkan Anda melihat gambaran besar. Namun pemahaman ini tidak muncul dari kekosongan, dan Anda tidak dapat MEMULAI pada tingkat ini .. itu bukan cara otak bekerja. Anda tidak dapat sampai pada konsep hutan tanpa pernah melihat pohon!
Itu tidak berarti bahwa teori juga mengambil peran yang tunduk pada pertanyaan ini. Dapat dikatakan bahwa pemahaman teoretis memberikan ekonomi mental yang signifikan ketika mempertimbangkan kelas masalah, tetapi tidak dapat eksis tanpa konkret yang mendorongnya (setidaknya dalam teori komputasi).
Jadi untuk menjawab pertanyaan Anda: Jika semua yang Anda minati adalah implementasinya, itulah hasilnya, tetapi tidak dalam meningkatkan / mengubah implementasi ini, teori tidak akan begitu penting. Namun jika Anda ingin menghasilkan sendiri, maka Anda berada pada posisi yang kurang menguntungkan dengan mereka yang memahami teori dengan lebih baik. Kecuali tentu saja Anda menghasilkan sendiri selama bertahun-tahun yang terjadi menjadi lebih baik :)
sumber