এখানে কি এমন কোনও সরঞ্জাম রয়েছে যা ফোর্টরান (বা সি) কোড পার্স করে ফোর্টরান (বা সি) ফাংশনগুলির অন্তর বিস্তৃততা তৈরি করতে পারে?


13

আমার পিএইচডি থিসিসের কেস স্টাডির জন্য আমার চেমকিন -২ফোর্টরান সাবরুটাইনগুলির অন্তরবৃদ্ধি থাকতে হবে (লিঙ্কটির জন্য ক্ষমাপ্রার্থী; স্যান্ডিয়া ন্যাশনাল ল্যাবরেটরি দ্বারা বিতরণ করা প্যাকেজটির জন্য এটি আমি সেরা খুঁজে পাই না)। চেমকিন -২ হ'ল রসায়ন প্যাকেজ যা দহন রসায়নে ব্যবহৃত হয়; যেহেতু এটি দহন ব্যবহৃত স্ট্যান্ডার্ড প্যাকেজ, তাই আমি বাইরে আলাদা প্যাকেজটি ব্যবহার করতে (বা বরং সত্যই পছন্দ করতে চাই না)।

প্রয়োজনীয় বিরতিযুক্ত এক্সটেনশানগুলি পেতে, আমি DAEPACK নামে একটি ঘরে থাকা উন্নত সরঞ্জাম ব্যবহার করছি। আমি পুরানো বাইনারিগুলি কয়েক বছর আগে একটি 32-বিট ওএসে (জিসিসি 2.95 এর সাথে লিবিস্টডিসির সংস্করণ সহ) প্রয়োজনীয় চেমকিন -২ সাবউরটাইনগুলির প্রয়োজনীয় অন্তরবৃত্তীয় এক্সটেনশানগুলি উত্পন্ন করতে সক্ষম হয়েছি, তবে তারপরে পড়ে গেছে তারিখের, এবং এটি ব্যবহার করার জন্য একটি অসাধারণ অগ্নিপরীক্ষা হবে (কারণ আমার ব্যবহৃত সফ্টওয়্যারটির প্রতিটি টুকরোটির 32-বিট সংস্করণ খুঁজে পেতে হবে)। এই প্যাকেজের জন্য সোর্স কোডটিও মালিকানাধীন, তবে যেহেতু এটি মূলত এমআইটি-তে তৈরি হয়েছিল এবং আমি এমআইটিতে কাজ করি, তাই আমি ডিএইপ্যাকের উত্স কোড পেতে সক্ষম হয়েছি (প্রচুর প্রচেষ্টার পরে)। আমার কাছে উত্স কোডটি ব্যবহার করে, আমি লিনাক্সের -৪-বিট সংস্করণ এবং জিসিসি xx.৪ xxx এর সাথে libstdc এর সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ DAEPACK এর একটি সংস্করণ সংকলন করতে সক্ষম হয়েছি, তবে এই উত্স কোডটি, যা আমার সন্দেহ হয় এটি পুরানো, একটি নির্বাহযোগ্যতে সংকলন করে যা আমার থিসিসটি সম্পূর্ণ করার জন্য আমার প্রয়োজন বিরতি বিস্তৃত কোডটি সফলভাবে জেনারেট করে না। উত্স কোড ঠিক করার ক্ষেত্রে আমি তার সহায়তার প্রয়াসে বিকাশকারীর সাথে যোগাযোগ করেছি, তবে বিকাশকারীটির সাথে পূর্ববর্তী যোগাযোগ থেকে, আমি জানি যে তিনি যদি কিছু করেন তবে উত্স কোডটি ঠিক করতে সময় লাগবে।

এখানে বড় সমস্যাটি রয়েছে: আমার স্নাতক পাস করা দরকার না হওয়া পর্যন্ত আমার 6 মাস বাকি রয়েছে কারণ আমার অর্থায়ন শেষ হয়ে গেছে। আমার পিএইচডি থিসিসটি সফলভাবে সম্পন্ন করার জন্য DAEPACK দ্রুত ঠিক করার জন্য আমি বিকাশকারীর উপর নির্ভর করতে পারি না, যেখানে আপনি ছেলেরা এসেছেন।

আমার এমন প্যাকেজ দরকার যা নিম্নলিখিতগুলি করে:

  • ব্যবধান এক্সটেনশান, টেলর মডেল (অন্তরবৃত্ত গণিত ব্যবহার করে) এবং প্রায় স্বেচ্ছাসেবী ফোরট্রান 77 কোডের ডেরিভেটিভস উত্পন্ন করে; আমি মনে করি যে কেবলমাত্র স্ট্রাকচারগুলি যে ডিএইপ্যাক দ্বারা পার্স হয় না তা হ'ল DOলুপ এবং IFবিবৃতি। যেহেতু আমার টেলর মডেলগুলি দরকার তাই কোডটিতে স্বয়ংক্রিয় পার্থক্য (AD) ক্ষমতাও থাকতে হবে।
  • ফোর্টরান code 77 কোডের উত্স থেকে উত্স অনুবাদ দ্বারা এই ব্যবধান এক্সটেনশন এবং টেলর মডেলগুলি উত্পন্ন করে (অর্থাত্, এটি উত্স কোড উত্পন্ন করার জন্য উত্স কোডটি সংকলনের মতো পার্স করে যা অন্তর বিস্তৃতকরণ এবং টেলর মডেল গণনা করে)।

একটি চিম্টিতে, আমি সফ্টওয়্যারটি ব্যবহার করতে পারি যা উপরের দুটি জিনিস ফোর্টরান code 77 কোডের পরিবর্তে সি কোডে করে এবং তারপরে সমস্ত কিছু পাস করে f2c। আমি সত্যিই এইভাবে এটি না করা পছন্দ করব, কারণ সমস্ত কিছু পেরিয়ে যাওয়া f2cএমনকি কার্যকর হবে কিনা তা আমার কোনও ধারণা নেই তবে আমি বেশ মরিয়া।

আপনি কি একজন হতাশ পিএইচডি ছাত্রকে সাহায্য করতে পারেন?


কিছু সম্ভাব্য পরামর্শের পূর্বাভাস দেওয়ার জন্য, এমন সময়গুলি সীমাবদ্ধতার পরিপ্রেক্ষিতে এমন পদ্ধতিগুলি যা আমার পক্ষে কাজ করবে না:

  • DAEPACK কাজ করার জন্য আরও চেষ্টা করা; বিশ্বাস করুন, আমি চেষ্টা করেছি এবং আমি বিকাশকারীকে ঘন ঘন বাগ দিচ্ছি।
  • অবজেক্ট-ওরিয়েন্টেড (বা অবজেক্ট-ওরিয়েন্টেড-মত) পদ্ধতির ব্যবহার করে ব্যবধানগুলি বা টেলর মডেলগুলি গণনা করে এমন সরঞ্জামগুলি। আমার কাছে নতুন ধরণের চেমকিন -২ (বা অন্য কোনও অনুরূপ বৃহত লাইব্রেরি) পুনরুদ্ধার করার সময় নেই; এটা খুব বড়.
  • ফোর্টরান 77 77/৯০ অথবা সি ব্যতীত অন্য যে কোনও ভাষা ব্যবহার করা CHEMKIN-II কোডটি ফরট্রানে রয়েছে। আমি এটি ব্যবহার করে এটিকে সিতে রূপান্তর করতে পারি f2c, বা যদি প্রয়োজন হয় তবে টিচেম নামক চেমকিন -২ এর একটি সান্দিয়া-ভিত্তিক ক্লোন ব্যবহার করতে পারি। আমার পুরানো ফলাফলগুলি চেমকিন -২ ব্যবহার করে; আমার নতুন ফলাফলগুলিতে আমার পুরানো ফলাফলগুলি প্রতিলিপি করা উচিত এবং আমি ইতিমধ্যে জানি যে ক্যান্তেরা কেমকিন -২ কী স্টাডিজ এবং ইউনিট পরীক্ষার ভিত্তিতে যা করে তা প্রতিলিপি দেয় না। তদ্ব্যতীত, আমার আগে যে স্নাতক শিক্ষার্থী বিশেষত ভালভাবে কাজ করতে পারে তার জন্য বিরতি গণিত পেতে চেমকিন -২ উত্স কোডটিতে কিছু কালো যাদু করেছিলেন। অন্য কোনও প্যাকেজে এটির প্রতিলিপি করা আমার পক্ষে কঠিন হবে।

তাত্ক্ষণিকভাবে আপনার থিসিস বিষয় পরিবর্তন করুন। সেই নির্লিপ্ত ব্যবধান গণিত থেকে মুক্তি পান এবং কার্যকরী সফ্টওয়্যার দিয়ে আদর্শভাবে কিছু করুন। ;
জেদ ব্রাউন

6
আপনার বিদ্যমান ফলাফলগুলি গ্রহণ করে, আপনার থিসিস বিষয়টির ব্যাখ্যায় এগুলিকে জুতো বানাবেন, একটি সুন্দর লেখার ব্যবস্থা করুন এবং আপনার প্রতিরক্ষা কমিটিটিকে দুর্দান্ত নাস্তা কিনুন।
ম্যাট নিপলি

f:RRF:(R,R0+)((R,R0+)F(a,b)=f([ab,a+b])
ডেথব্রিথ

1
ব্যবধান গণিতের প্রাথমিক ওভারভিউগুলি উইকিপিডিয়ায় (যার মধ্যে অন্তর বিস্তারের ধারণা অন্তর্ভুক্ত) এবং এই পৃষ্ঠায় উল্লিখিত উল্লেখগুলিতে পাওয়া যাবে । টেলর মডেলগুলির যে আমি খুঁজে পেতে পারি তার সেরা পরিচয় এখানে । স্বয়ংক্রিয় পার্থক্য সাধারণত টেলর মডেলগুলির প্রয়োগে ব্যবহৃত হয়; এর পরিবর্তে আমি কখনও সংখ্যার কাছাকাছি ব্যবহারের কথা শুনিনি বা দেখিনি।
জেফ অক্সবেরি

2
@ মিশা ব্রুকম্যান: ওহ, আমি কেবল এই সমস্তের উপর ঘুষি লাগিয়েছি।
জেফ অক্সবেরি

উত্তর:


2

ধরে DAEPACKনিই যে বিষয়টি 32২ -বিট মোডে কাজ করে তবে 64৪-বিট মোডে নয়, এটি সমাধানের জন্য এখানে কিছু পদ্ধতি রয়েছে।

DAEPACKএকটি 64-বিট ওএসে 32-বিট মোডে সংকলন করুন

অন্য প্রশ্নে এটি কীভাবে করবেন তা দেখুন । এটির সাথে কাজ চালিয়ে যাওয়ার এক সহজ উপায় হতে পারে।

যদি সমস্যাটি হয় যে উত্পন্ন কোডটিতে -৪-বিট মোডে সমস্যা রয়েছে, অনুরূপ -২-বিট পতাকা সহ বা একটি 32-বিট পরিবেশে উত্পন্ন কোডটি সংকলন করুন (-৪-বিট ওএস উপযুক্ত লাইব্রেরি প্রদানে 32-বিট কোড চালাতে পারে, তবে না তদ্বিপরীত )।

একটি সম্পূর্ণ- DAEPACKনিরাপদ পরিবেশ পুনরুদ্ধার করুন

  1. একটি ভার্চুয়াল মেশিনে একটি পূর্ণ 32-বিট পরিবেশ ব্যবহার করে, যেমন, তৈরি করুন VirtualBox , যেমন যে DAEPACKএটা সুখী চলমান কিনা পুরাতন বাইনেরিতে থেকে, কিংবা এই পরিবেশে recompiled। সফ্টওয়্যারটির একটি ওয়ার্কিং সংস্করণ পাওয়ার জন্য আপনি ওপেন-সোর্স ওএস এবং পুরানো হিসাবে পুরানো একটি রিলিজ পেতে পারেন।

  2. আউটপুট নিন এবং DAEPACKএটিকে হোস্ট মেশিনে বা একটি পৃথক ভার্চুয়াল মেশিনে স্থানান্তর করুন যেখানে অন্যান্য সফ্টওয়্যারটির জন্য পরিবেশ উপযুক্ত এবং কাজ চালিয়ে যান। উদাহরণস্বরূপ এটি আরও সাম্প্রতিক 64৪-বিট ওএস হতে পারে এবং সেখানে কাজ চালিয়ে যেতে পারেন।

    ভার্চুয়ালবক্সে ভাগ করা ফোল্ডার বৈশিষ্ট্যটি ব্যবহার করা আপনার পক্ষে সহজ হওয়া উচিত।

ঠিক করার জন্য অন্যদের তালিকাভুক্ত করুন DAEPACK

আমি লক্ষ্য করেছি যে আপনি বলেছিলেন যে আপনার বা সফ্টওয়্যার লেখকের কাছেই এটি ঠিক করার সময় নেই, তবে কেউ বলেনি আপনি অন্য কারও সাহায্যের তালিকাভুক্ত করতে পারবেন না! এই বিকল্পগুলি বিবেচনা করুন:

  • -২-বিট বনাম bit৪-বিটের সমস্যা সমাধানের জন্য কিছু স্নাতক এমআইটি সিএস শিক্ষার্থীদের নিয়োগ করুন। মনে রাখবেন যে এটিতে কাজ করার জন্য তাদের প্ররোচিত করার জন্য, উদাহরণস্বরূপ, আপনাকে টাকা বা পিজ্জা (এবং / বা বিয়ার, যদি তারা আইনি পানীয়ের বয়স হয়) দিয়ে তাদের ক্ষতিপূরণ দিতে হতে পারে। অথবা আপনার পরামর্শদাতারা এর সাহায্যে কিছু খণ্ডকালীন স্নাতক স্নাতকদের নিয়োগ করতে পারেন কিনা তা জিজ্ঞাসা করার বিষয়টি বিবেচনা করুন (যদি আপনার নিজস্ব তহবিল বন্ধ হয়ে যায় তবে তহবিলের বিষয়টি হতে পারে)। অথবা আপনার বিভাগের গবেষণা প্রোগ্রামারদের কাছ থেকে কিছু পক্ষপাতের জন্য জিজ্ঞাসা করুন।

  • এর মুক্ত ও উত্স মুক্তির জন্য লবি DAEPACK। দেখে মনে হচ্ছে এটির লাইসেন্সিংয়ের অবস্থাটি অস্পষ্ট , তবে মনে রাখবেন যে এমআইটি -র একটি নামবিহীন ওপেন-সোর্স লাইসেন্স রয়েছে যা বরং সুপরিচিত; ওপেন লাইসেন্সের অধীনে এটি প্রকাশ করা সমস্যার দিকে আরও নজর পেতে এবং 32-বিট বনাম 64-বিট সমস্যার সমাধান করতে সহায়তা করতে পারে।

    নোট করুন যে আপনার ডিপার্টমেন্ট, আইনী, প্রশাসনিক ইত্যাদির উপর নির্ভর করে আপনি আপনার পিএইচডি করার জন্য যে months মাস রেখে গেছেন তার চেয়ে বেশি সময় নিতে পারে, তাই অন্যান্য বিকল্পগুলি অনুসরণ করার সময় এটি শুরু করার বিষয়টি বিবেচনা করুন।

শুভকামনা!


এই উত্তরটি লেখার জন্য কিছুক্ষণ ব্যয় করার পরে, আমি কেবল বুঝতে পেরেছি যে আপনি 2012 সালে আপনার প্রশ্নটি 6 মাসের সময়সীমা নিয়ে লিখেছেন, সুতরাং এই আলোচনাটি বরং চূড়ান্ত। এর জন্যে দুঃখিত! এই ক্ষেত্রে আপনি কী শেষ করেছেন আমি এখনও আগ্রহী।
মিশা ব্রুকম্যান

আমার পিএইচডি করার সময়, আপনি উল্লেখ করেছিলেন এমন তিনটি পদ্ধতির সাফল্য পেয়েছি। আইআইআরসি সমস্যাটি ছিল এটি বগি কোড উত্পন্ন করবে; এটি সংকলন (যদিও গাধা একটি ব্যথা, কারণ আমি এর কিছু অংশ আধুনিকীকরণ করতে হয়েছিল) আসলে আমার সমস্যাগুলির মধ্যে সর্বনিম্ন ছিল। DAEPACK উন্মুক্ত উত্স প্রকাশ হওয়ার সম্ভাবনা নেই, কারণ এটি কোনও সংস্থার মূল প্রযুক্তি। এটি সংস্থার বাইরে থাকা আমার লোক এবং আমার প্রাক্তন উপদেষ্টার ল্যাব থেকে অন্য লোকদের এটি ঠিক করার পক্ষেও প্রচণ্ড কাঁপছে এবং আমি সন্দেহ করি যে এমআইটি সিএসের উদ্যোগী শিক্ষার্থীরা সেই কৃতজ্ঞহীন কাজটি গ্রহণ করতে চাইবে।
জেফ অক্সবেরি

@ জিফঅক্সবেরি এটি শুনে দুঃখিত, তবে এটি (দুর্ভাগ্যক্রমে) তথাকথিত "গবেষণা-মানের" সফ্টওয়্যারটিতে খুব বেশি প্রচলিত। তবুও আপনার ডিগ্রি অধ্যবসায় এবং সম্পূর্ণ করার জন্য অভিনন্দন!
মিশা ব্রুকম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.