Trilinos

Trilinos๋Š” ๋ฏธ๊ตญ ์—๋„ˆ์ง€๋ถ€ ์‚ฐํ•˜ **์ƒŒ๋””์•„ ๊ตญ๋ฆฝ ์—ฐ๊ตฌ์†Œ(Sandia National Laboratories)**์—์„œ ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋Œ€๊ทœ๋ชจ ๊ณผํ•™ ๋ฐ ๊ณตํ•™ ๊ณ„์‚ฐ์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ๋ณ‘๋ ฌ ๊ณ„์‚ฐ์„ ์ง€์›ํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ์–ด, ๊ณ ์„ฑ๋Šฅ ์ปดํ“จํŒ… ํ™˜๊ฒฝ์—์„œ์˜ ์ˆ˜์น˜ ํ•ด์„ ๋ฐ ๋ฏธ์ ๋ถ„ ๋ฌธ์ œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ํŠน์ง•

  • ์„ ํ˜• ๋ฐ ๋น„์„ ํ˜• ๋ฐฉ์ •์‹ ์†”๋ฒ„: ๋Œ€๊ทœ๋ชจ ํฌ์†Œ ํ–‰๋ ฌ์„ ๋‹ค๋ฃจ๋Š” ์„ ํ˜• ๋ฐฉ์ •์‹๋ถ€ํ„ฐ ๋ณต์žกํ•œ ๋น„์„ ํ˜• ๋ฐฉ์ •์‹๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์†”๋ฒ„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฏธ๋ถ„ ๋ฐฉ์ •์‹ ์†”๋ฒ„: ํŽธ๋ฏธ๋ถ„ ๋ฐฉ์ •์‹(PDE) ๋“ฑ ์‹œ๊ฐ„ ์˜์กด์ ์ธ ๋ฏธ๋ถ„ ๋ฐฉ์ •์‹์„ ํ•ด๊ฒฐํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜: ๋Œ€๊ทœ๋ชจ ์ตœ์ ํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ์ง€์›: MPI(Message Passing Interface)์™€ ๊ฐ™์€ ๋ณ‘๋ ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ์„ ํ†ตํ•ด ๋Œ€๊ทœ๋ชจ ๋ณ‘๋ ฌ ์‹œ์Šคํ…œ์—์„œ์˜ ๊ณ ์„ฑ๋Šฅ ๊ณ„์‚ฐ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ชจ๋“ˆ์‹ ์•„ํ‚คํ…์ฒ˜: ๊ฐ ๊ธฐ๋Šฅ์ด ๋ชจ๋“ˆ๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์–ด ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์„ ํƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ์š”์†Œ

Trilinos๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒจํ‚ค์ง€๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ฐ ํŒจํ‚ค์ง€๋Š” ํŠน์ •ํ•œ ์ˆ˜์น˜ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด:

  • Epetra/Tpetra: ์„ ํ˜• ๋Œ€์ˆ˜ ์—ฐ์‚ฐ์„ ์œ„ํ•œ ํŒจํ‚ค์ง€๋กœ, ๋ถ„์‚ฐ ๋ฉ”๋ชจ๋ฆฌ ๋ณ‘๋ ฌ ํ™˜๊ฒฝ์—์„œ์˜ ํฌ์†Œ ํ–‰๋ ฌ ๋ฐ ๋ฒกํ„ฐ ์—ฐ์‚ฐ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • AztecOO: ํฌ์†Œ ์„ ํ˜• ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ๋ฐ˜๋ณต ์†”๋ฒ„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • Belos: ๋Œ€๊ทœ๋ชจ ์„ ํ˜• ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์ตœ์‹  ๋ฐ˜๋ณต ์†”๋ฒ„ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

  • NOX: ๋น„์„ ํ˜• ๋ฐฉ์ •์‹ ์†”๋ฒ„๋กœ, ๋‹ค์–‘ํ•œ Newton ๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • LOCA: ๋น„์„ ํ˜• ๊ณ ์œ ์น˜ ๋ฌธ์ œ์™€ ๋ถ„๊ธฐ์  ๋ถ„์„์„ ์œ„ํ•œ ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์‚ฌ๋ก€

Trilinos๋Š” ์ฃผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ์œ ์ฒด ์—ญํ•™ ์‹œ๋ฎฌ๋ ˆ์ด์…˜

  • ๊ตฌ์กฐ ํ•ด์„ ๋ฐ ์‘๋ ฅ ๋ถ„์„

  • ์ „์ž๊ธฐ์žฅ ๊ณ„์‚ฐ

  • ์—ด ์ „๋‹ฌ ๋ฐ ๋ฐ˜์‘ ๊ณ„์‚ฐ

  • ์ง€๊ตฌ๊ณผํ•™ ๋ชจ๋ธ๋ง

์žฅ์ 

  • ํ™•์žฅ์„ฑ: ๋Œ€๊ทœ๋ชจ ๋ณ‘๋ ฌ ์ปดํ“จํŒ… ํ™˜๊ฒฝ์—์„œ ๋†’์€ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์œ ์—ฐ์„ฑ: ๋ชจ๋“ˆ์‹ ๊ตฌ์กฐ๋กœ ์ธํ•ด ์‚ฌ์šฉ์ž ์š”๊ตฌ์— ๋งž๊ฒŒ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  • ํ™œ๋ฐœํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ: ์ง€์†์ ์ธ ์—…๋ฐ์ดํŠธ์™€ ํ™œ๋ฐœํ•œ ์‚ฌ์šฉ์ž ๋ฐ ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

  • ํ˜ธํ™˜์„ฑ: C++๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ๋‹ค๋ฅธ ์–ธ์–ด์™€์˜ ์ธํ„ฐํŽ˜์ด์Šค๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Trilinos๋Š” ๋ณต์žกํ•˜๊ณ  ๋Œ€๊ทœ๋ชจ์˜ ์ˆ˜์น˜ ๊ณ„์‚ฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋กœ, ํŠนํžˆ ๋ณ‘๋ ฌ ์ปดํ“จํŒ… ํ™˜๊ฒฝ์—์„œ์˜ ๋ฏธ์ ๋ถ„ ๋ฐ ์„ ํ˜•๋Œ€์ˆ˜ ๋ฌธ์ œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๊ณผํ•™ ์—ฐ๊ตฌ๋ถ€ํ„ฐ ์‚ฐ์—… ์‘์šฉ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ณ ์„ฑ๋Šฅ ๊ณ„์‚ฐ์ด ํ•„์š”ํ•œ ํ”„๋กœ์ ํŠธ์— ํฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Last updated