-
Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!new
s.nask.org.pl!news.onet.pl!newsfeed.neostrada.pl!atlantis.news.neostrada.pl!new
s.neostrada.pl!not-for-mail
From: "RedArt" <r...@t...tez.op.pl>
Newsgroups: pl.sci.ai,pl.comp.programming
Subject: CUDA - przyszłość rozwoju procesorów i zmiany w technikach programowania
?
Date: Mon, 30 Mar 2009 12:12:58 +0200
Organization: TP - http://www.tp.pl/
Lines: 111
Message-ID: <gqq632$79u$1@atlantis.news.neostrada.pl>
NNTP-Posting-Host: efp194.internetdsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Trace: atlantis.news.neostrada.pl 1238408099 7486 83.14.249.194 (30 Mar 2009
10:14:59 GMT)
X-Complaints-To: u...@n...neostrada.pl
NNTP-Posting-Date: Mon, 30 Mar 2009 10:14:59 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
Xref: news-archive.icm.edu.pl pl.sci.ai:10459 pl.comp.programming:181494
[ ukryj nagłówki ]Jako bazę dam artykuł:
http://www.nvidia.pl/docs/IO/55972/220401_Reprint.pd
f
W skrócie: mechanizmy pixel/vertex shaderów stosowane w kartach graficznych
są intensywnie rozbudowywane - o większy dostęp do pamięci współdzielonej, o
możliwości operowania
na złożonych typach danych itp.
W efekcie stopniowo dostajemy potężną moc obliczeniową drzemiącą w kartach
graficznych 'do zabawy'
w zastosowaniach zupełnie z grafiką niezwiazanych - z coraz bardziej
'normalnym' interfejsem
programistycznym. To tak od strony naszej - programistów. Powstaje
jednocześnie wymóg
modyfikacji głownego toku myślenia o konstrukcji oprogramowania - z
algorytmiczno-iteracyjnego
na danocentyczno-blokowy ;) Jest to ciekawe zagadnienie, z pewnością znane
już tym, którzy
siedzą głeboko w technikaliach przetwarzania baz danych czy konstrukcji
wydajnych procedur
ETL (extract-transform-load) w interfejsach międzysystemowych. Wymaga to
rewizji stosowanych
wzorców projektowych, przejrzenia praktycznej użyteczności stosowanych
obecnie technik obiektowych
itp - temat niewątpliwie bardzo szeroki i ciekawy.
Natomiast jest to także temat ciekawy od strony przyszłych architektur
mikroprocesorowych.
Nie da się ukryć, że w miarę rozwoju oprogramowania dostosowanego
(uwspółbieżnionego)
wg nowych reguł siła centralnej jednostki-procesora będzie miała znaczenie
coraz mniejsze.
Co najciekawsze wydaje się, że powstaje szansa na trwałe wybrniecie z
problemu różnic
architektonicznych(w rezultacie dających zupełnie inne języki maszynowe lub
znaczne różnice
w liście dostępnych instrukcji) powstających w miarę rozwoju
mikroporocesorów różnych
technologii i producentów - nowa technologia bowiem od początku kładzie
nacisk na ukrycie
najbardziej niskopoziomowych aspektów oprogramowania za pośrednim
interfejsem dostępu
stanowiącym dużo stabilniejszą warstwę funkcji-instrukcji lepiej
odzwierciedlającą potrzeby
programistyczne wyższego poziomu, skoncentrowane na organizacji danych i
procedur
biznesowych. Np. udaje siędo minimum zredukować wymóg ręcznej obsługi
współbieżności
(ochrona dostępu do współdzielonych zasobów, problemy typu deadlock czy
zagładzania
procesów).
Wracając do tematu oprogramowania: ciekawe, jak szybko języki takie jak Java
będa
zdolne do skorzystania z nowych możliwości - na najniższym poziomie powstaje
pytanie typu: czy da się w ogóle zintegrować istniejące w tym języku
mechanizmy wielowątkowości
(z instrukcjami synchronised/wait/notify) z nowym sposobem myślenia ? A idąc
wyżej:
jak głęboko trzeba zmodyfikować techniki obiektowe, powszechnie stosowane
wzorce projektowe ?
Jak organizować obiekty danych (różnych typów - polimorfizm) w wyraziste
bloki pamięci, tak
by na wyższym poziomie dalej przypominały one abstrakcyjne kolekcje ? A co
ze standardowymi
iteratorami i odpalaniem metod wirtualnych na obiektach danych, gdzie
różnorodność klas pociąga
za sobą różnorodność procedur ? Ogarnąć powiazania między obiektami ...
Tematów jest mnóstwo.
Zapewne są one jużdobrze znane tam, gdzie zagościł temat obiektowych baz
danych.
A jeszcze mały wtręt do AI.
Swego czasu pewien naukowiec opowiadał (rzekłbym: rozgorączkowanym głosem
...) o projekcie
CAM-Brain. W skrócie: chodziło o budowanie/hodowanie/uczenie złożonych
struktur neuronowych
skonstruowanych i działajacych w oparciu o tzw. automaty komórkowe. Automaty
komórkowe(sześciany)
stanowiły podstawowe cegiełki do budowanych w przestrzeni 3D ścieżek, po
których można było przesyłać
sygnały itp. Jednym z filarów tego projektu miała być zaawansowana
technologicznie pamięć, gdzie cechy
automatów komórkowych były zrealizowane już na poziomie sprzętowym. Cyk - i
w kilku cyklach
maszynowych miliony(...) komórek pamięci przechowujących dane poszczególnych
automatów
zmieniały stan - zgodnie z zaprogramowaną tablicą przejść, w zależności od
stanów sąsiadów
- innych najbliższych komórek pamięci. Każda komórka pamięci stanowiła więc
mini-procesor potrafiący
wykonać bardzo proste czynnosci - ale współbieżnie z innymi. Dygresja: Losy
projektu - no cóż ...
Jak wielu projektów ... ;) Na pewno po raz kolejny udowadnia, że problemy
tworzenia
sztucznej inteligencjie nie leżą w brakach mocy obliczeniowej (a na pewno
nie jest to problem
podstawowy).
Ale wychodząc z dygresji: kiedy pojawiły się mechanizmy pixel shaderów w
kartach graficznych,
pierwsza myśl, jaka mi przyszła do głowy, to: a, mamy już w domu w końcu tę
technologię
idealną do wspomagania automatów komórkowych, a w perspektywie rozwoju
dającą zupełnie
nowe możliwości obliczeniowe.
Technologia CUDA pokazuje, że ten potencjał jest intensywnie rozwijany, a
zapewne w najbliższym czasie
doczekamy siętakże ciekawych przykładów 'eksploatacji' - na początek w
oprogramowaniu
wspomagajacym obliczenia naukowe.
Następne wpisy z tego wątku
- 30.03.09 11:01 A.L.
- 30.03.09 11:32 RedArt
- 30.03.09 11:32 A.L.
- 30.03.09 11:38 RedArt
- 30.03.09 12:03 czas dOSa
- 30.03.09 12:11 czas dOSa
- 30.03.09 12:13 A.L.
- 30.03.09 12:14 A.L.
- 30.03.09 12:40 RedArt
- 30.03.09 13:03 Tomasz Gęguś
- 30.03.09 13:06 Tomasz Gęguś
- 30.03.09 15:42 Mateusz Ludwin
- 30.03.09 16:02 A.L.
- 30.03.09 16:28 Tomasz Gęguś
- 31.03.09 05:59 RedArt
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-27 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-01-27 Warszawa => Java Developer <=
- 2025-01-27 Warszawa => Data Engineer (Tech Lead) <=
- 2025-01-27 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-27 Kto ma PRAWNĄ rację? poseł KO mec. R. Giertych v. mec. B. Lewandowski
- 2025-01-27 Gliwice => IT Expert (Network Systems area) <=
- 2025-01-27 Koszyk okrągły, walec 3x AA, na duże paluszki R6
- 2025-01-27 Warszawa => QA Engineer <=
- 2025-01-27 Warszawa => Analityk Biznesowo-Systemowy <=
- 2025-01-27 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-27 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-27 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-27 Kraków => User Experience Designer <=
- 2025-01-27 Kraków => iOS Developer (Swift experience) <=
- 2025-01-26 Trump-2 JUŻ bardzo łaskawy [1_500 ułaskawień skazanych za Bidena za "Kawkę na Kapitolu"]