انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: 9103074 در 18 بهمن 1391، 05:22 ب‌ظ

عنوان: برنامه‌نویسی فرترن
ارسال شده توسط: 9103074 در 18 بهمن 1391، 05:22 ب‌ظ
من در ویندوز پروژه‌ای را شروع کرده بودم که در آن از نرم افزار‌های زیر استفاده می‌کردم.
ویژوال استودیو 2010 Visual Studio
اینتل پارالل استودیو ایکس 2011 Intel parallel studio
متلب 2011 Matlab
کد‌های اصلی رو با Fortran نوشته بودم بعد با یک رابط Cpp یک فایل Mex برای مطلب درست کرده بودم پروژه‌ام بسیار سریع و خوب کار می‌کرد مخصوصا وقتی توسط کامپایلر اینتل کد رو بهینه‌سازی می‌کردم. حالا می‌خواهم این فرایند رو در اوبانتو پیداه کنم از اوکتاو خوشم اومد چون اون هم Mex-File رو پشتیبانی می‌کنه. ولی نمی‌دونم برای فرترن از چی استفاده کنم و آیا کامپایلر فرترن برای لینوکس رو می‌شه با اوکتاو ربط داد و... اگه کسی تجربه‌ای داره در این تاپیک قرار بده تا دیگران هم استفاده کنن بدیهی است که من هم تجربیاتم رو در اختیار شما قرار می‌دم.
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: سلمان م. در 18 بهمن 1391، 06:43 ب‌ظ
شما می‌خوای که کدت رو با gfortran که کامپایلر فورترن هست، تو اوبونتو به متلب پیوند بدی یا به اکتاو؟ :)
به جفتش میشه.
این توضیحش برای اکتاو هست.
https://www.gnu.org/software/octave/doc/interpreter/Calling-External-Code-from-Oct_002dFiles.html
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: twa در 07 فروردین 1392، 01:03 ب‌ظ
کامپایلر بسیار پر سرعت IFORT رو پیشنهاد میکنم....
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: سلمان م. در 07 فروردین 1392، 01:26 ب‌ظ
بنظر من تا وقتی که دلیل قانع‌کننده‌ای برای استفاده از کامپایلر اینتل ندارید، باید بجاش از gfortran استفاده کنید، چون
۱. کامپایلر اینتل غیرآزاد هست.
۲. کامپایلر اینتل برای استفاده‌های تجاری «رایگان نیست».

از لحاظ تفاوت سرعت هم بستگی به کدهایی داره که نوشتید و همچنین optionهایی که موقع کامپایل کردن استفاده می‌کنید، ولی تفاوت فاحشی با هم ندارن (شنیدم که کامپایلر اینتل برای مسایل بسیار سنگین، سرعتش یک کم بیشتر هست)
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: nixoeen در 07 فروردین 1392، 03:34 ب‌ظ
من هم gfortran رو پیشنهاد میدم. اتفاقا همین هفته پیش داشتم با یکی از دانشجوهای دکترای فیزیک دانشگاه هامبورگ صحبت می‌کردم و اون‌ها هم از ifort به gfortran مهاجرت کرده بودند.
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: محمدرضا ح. در 07 فروردین 1392، 05:25 ب‌ظ
یک سوال نه چندان بی ربط :

میخوام بدونم اگر الان که در حال تحصیل در واپسین سالهای دبیرستان هستم ، این زبان رو یاد بگیرم آیا به پیشرفتم در دانشگاه کمکی خواهد کرد؟
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: nixoeen در 07 فروردین 1392، 08:30 ب‌ظ
چه رشته‌ای می‌خوای در دانشگاه بخونی؟
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: alend در 07 فروردین 1392، 08:51 ب‌ظ
تا جایی من می دانم فرترن برای جبر خطی مناسب است و به دلیل آنکه به اشاره گر ها وابستگی ندارد برنامه نوشتن با آن از C++ راحت تر است. سرعت برنامه ها باکامپایلر اینتل بسیار قابل ملاحظه است (نظر ۳ نفر متخصص  که برخی بیش از ۱۰ سال تجربه دارند!).

فرترن از کتابخانه lapack، ACML, MKL و حتی CUDA می تواند استفاده کند. و جالب اینجا است که C++ با کتابخانه Armadillo همین قابلیت رادارد (به جز CUDA).

به جای اینتل پارالل استودیو ایکس 2011 Intel parallel studio هم می توانید از Eclipse for Parallel Application Developers استفاده کنید.
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: محمدرضا ح. در 07 فروردین 1392، 08:53 ب‌ظ
چه رشته‌ای می‌خوای در دانشگاه بخونی؟

فناوری اطلاعات یا سخت افزار
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: nixoeen در 07 فروردین 1392، 09:23 ب‌ظ
چه رشته‌ای می‌خوای در دانشگاه بخونی؟

فناوری اطلاعات یا سخت افزار

برای این رشته‌ها فرترن بهت کمک زیادی نمی‌کنه. مباحث مهم‌تر و کاربردی‌تری وجود داره.

اگر بخوای سخت‌افزار بخونی، System Architecture جزو پایه‌های اولیه سخت‌افزار هست و چون خیلی ساده نیست، شروع زودتر اون می‌تونه خیلی کمک بکنه. توی دانشگاه هم ما بعد از این درس به عنوان پروژه یک CPU ساختیم که دستورهای پایه‌ای Assembly رو پشتیبانی می‌کرد.
این کتاب بروزشده درسی هست که ما خوندیم که شامل ساخت CPU و یک زبان برنامه‌نویسی برای اون هم هست: لینک  (http://www-wjp.cs.uni-saarland.de/lehre/vorlesung/info2/ss13/material/sysbook.pdf)

اگر زبان انگلیسی کتاب برات سنگینه، زبان انگلیسی بالاترین اولویت ممکن رو داره، اول روی اون کار کن. ریاضی خیلی سنگینی نداره، ولی خوب اگر متوجه نمی‌شی، باز ادامه نده و سعی کن ریاضی مرتبط رو یاد بگیری. این کتاب شاید مدار منطقی رو خیلی خوب توضیح نداده باشه، اون هم می‌تونی جدا توی کتاب‌های مدار منطقی بخونی.
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: fond در 07 فروردین 1392، 09:26 ب‌ظ
از تمام اعضای انجمن به خاطر off topic معذرت می‌خوام. هر چند من نرم‌افزار خوندم اما اگه می‌خواهید یه زبانی یاد بگیرید که به درد دانشگاه بخوره C/C++ یاد بگیر. چون درسهایی مانند برنامه‌نویسی پیشرفته، ساختمان داده‌ها، مباحث ویژه در برنامه‌نویسی، ذخیره و بازیابی، برنامه‌نویسی شئ‌گرا و ... همه روی C/C++ می‌چرخه.
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: محمدرضا ح. در 07 فروردین 1392، 09:34 ب‌ظ
از تمام اعضای انجمن به خاطر off topic معذرت می‌خوام. هر چند من نرم‌افزار خوندم اما اگه می‌خواهید یه زبانی یاد بگیرید که به درد دانشگاه بخوره C/C++ یاد بگیر. چون درسهایی مانند برنامه‌نویسی پیشرفته، ساختمان داده‌ها، مباحث ویژه در برنامه‌نویسی، ذخیره و بازیابی، برنامه‌نویسی شئ‌گرا و ... همه روی C/C++ می‌چرخه.

ممنون دوست عزیز. کل وقت خالی عید رو کتاب C++ هربرت شیلد رو خوندم. کتاب C هم تهیه کردم و سرسری دیدمش :D فقط مونده که بخونمش کامل اونم باشه بعد امتحانات نهایی

چه رشته‌ای می‌خوای در دانشگاه بخونی؟

فناوری اطلاعات یا سخت افزار

برای این رشته‌ها فرترن بهت کمک زیادی نمی‌کنه. مباحث مهم‌تر و کاربردی‌تری وجود داره.

اگر بخوای سخت‌افزار بخونی، System Architecture جزو پایه‌های اولیه سخت‌افزار هست و چون خیلی ساده نیست، شروع زودتر اون می‌تونه خیلی کمک بکنه. توی دانشگاه هم ما بعد از این درس به عنوان پروژه یک CPU ساختیم که دستورهای پایه‌ای Assembly رو پشتیبانی می‌کرد.
این کتاب بروزشده درسی هست که ما خوندیم که شامل ساخت CPU و یک زبان برنامه‌نویسی برای اون هم هست: لینک  (http://www-wjp.cs.uni-saarland.de/lehre/vorlesung/info2/ss13/material/sysbook.pdf)

اگر زبان انگلیسی کتاب برات سنگینه، زبان انگلیسی بالاترین اولویت ممکن رو داره، اول روی اون کار کن. ریاضی خیلی سنگینی نداره، ولی خوب اگر متوجه نمی‌شی، باز ادامه نده و سعی کن ریاضی مرتبط رو یاد بگیری. این کتاب شاید مدار منطقی رو خیلی خوب توضیح نداده باشه، اون هم می‌تونی جدا توی کتاب‌های مدار منطقی بخونی.

ممنون. اتفاقا امروز توی کتابفروشی یک کتاب دیدم که در مورد 8086 و اسمبلی بود و خواه ناخواه وسوسه شدم بخرمش :D در مورد زبان هم خوشبختانه مشکلی از حیث زبان ندارم. تاجایی که بشه خودم میخونم و نشد هم از پدرم کمک میگیرم (پدرم مترجم زبان هست ) .

پ.ن : با این قسمت کتاب خیلی حال کردم (عناوینش وسوسم کرد بخونمش حتما ;D ):

نقل‌قول
Understanding Decimal Addition 9
1.1 Experience versus Understanding . . . . . . . . . . . . . . . . 9
1.1.1 Counting . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.2 2 + 1 = 3 is a de nition . . . . . . . . . . . . . . . . . 11
1.1.3 1 + 2 = 3 is a theorem. . . . . . . . . . . . . . . . . . . 11
1.1.4 9 + 1 = 10 is a brilliant theorem . . . . . . . . . . . . 13
1.1.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 15
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: fond در 07 فروردین 1392، 09:36 ب‌ظ
اوه ظاهرا من و آقای nixoeen هم زمان پست‌ها رو ارسال کردیم. توی اکثر دانشگاه‌های ایران کتاب آقای موریس مانو برای درس مدارهای منطقی تدریس میشه. اگر خواستید تهیه کنید «طراحی دیجیتال (مدار منطقی) ترجمه دکتر حسن سیدرضی و دکتر فرهاد ارومچیان - انتشارات ناقوس - اسم کاملش هست. و به زبان ساده و از پایه این مبحث رو توضیح داده. کتاب دیگه از همین نویسنده «معماری کامپیوتر» هست که خوندنش بعد از تموم کردن کتاب اول توصیه میشه.
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: محمدرضا ح. در 07 فروردین 1392، 09:45 ب‌ظ
یک سوال دیگه nixoeen جان :

این کتاب تا چه حد چیزایی رو نیاز داره که برای المپیاد کامپیوتر ازمون خواستند بخونیم؟ مثل ترکیبیات و نظریه گراف؟
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: nixoeen در 07 فروردین 1392، 11:12 ب‌ظ
این کتاب تا چه حد چیزایی رو نیاز داره که برای المپیاد کامپیوتر ازمون خواستند بخونیم؟ مثل ترکیبیات و نظریه گراف؟
خیلی کم.
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: twa در 08 فروردین 1392، 02:12 ق‌ظ
من هم gfortran رو پیشنهاد میدم. اتفاقا همین هفته پیش داشتم با یکی از دانشجوهای دکترای فیزیک دانشگاه هامبورگ صحبت می‌کردم و اون‌ها هم از ifort به gfortran مهاجرت کرده بودند.

دلیلش برای رفتن به gfortran چی بود؟
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: twa در 08 فروردین 1392، 02:14 ق‌ظ
بنظر من تا وقتی که دلیل قانع‌کننده‌ای برای استفاده از کامپایلر اینتل ندارید، باید بجاش از gfortran استفاده کنید، چون
۱. کامپایلر اینتل غیرآزاد هست.
۲. کامپایلر اینتل برای استفاده‌های تجاری «رایگان نیست».

از لحاظ تفاوت سرعت هم بستگی به کدهایی داره که نوشتید و همچنین optionهایی که موقع کامپایل کردن استفاده می‌کنید، ولی تفاوت فاحشی با هم ندارن (شنیدم که کامپایلر اینتل برای مسایل بسیار سنگین، سرعتش یک کم بیشتر هست)

منظورتون رو از غیر ازاد متوجه نشدم. اما بابت تجاری بودن، نسخه کرک شده اون موجوده.
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: محمدرضا ح. در 08 فروردین 1392، 02:24 ق‌ظ
بنظر من تا وقتی که دلیل قانع‌کننده‌ای برای استفاده از کامپایلر اینتل ندارید، باید بجاش از gfortran استفاده کنید، چون
۱. کامپایلر اینتل غیرآزاد هست.
۲. کامپایلر اینتل برای استفاده‌های تجاری «رایگان نیست».

از لحاظ تفاوت سرعت هم بستگی به کدهایی داره که نوشتید و همچنین optionهایی که موقع کامپایل کردن استفاده می‌کنید، ولی تفاوت فاحشی با هم ندارن (شنیدم که کامپایلر اینتل برای مسایل بسیار سنگین، سرعتش یک کم بیشتر هست)

منظورتون رو از غیر ازاد متوجه نشدم. اما بابت تجاری بودن، نسخه کرک شده اون موجوده.

در مورد نرم افزار آزاد و غیرآزاد در ویکیپدیا سرچ کنید.

نسخه تجاری باید تجاری باشه و اگر تجاری نباشه، تجاری نیست :) منظورم این هست که با کرک شده فقط سر خودمون رو کلاه میزاریم :) .
عنوان: پاسخ : برنامه‌نویسی فرترن
ارسال شده توسط: nixoeen در 08 فروردین 1392، 03:55 ق‌ظ
من هم gfortran رو پیشنهاد میدم. اتفاقا همین هفته پیش داشتم با یکی از دانشجوهای دکترای فیزیک دانشگاه هامبورگ صحبت می‌کردم و اون‌ها هم از ifort به gfortran مهاجرت کرده بودند.

دلیلش برای رفتن به gfortran چی بود؟
امکان ادغام راحت‌تر با کتابخانه‌ها و زبان‌های دیگه و آزاد بودن اون.