-
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
- 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
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-20 Fiat 125p wer. pikup - w PRL moszna było, w III Reczy [pospolitej] nie moszna
- 2024-05-19 Pożar salonu z chińskimi elektrykami
- 2024-05-18 LED
- 2024-05-19 ceny nieruchomości
- 2024-05-18 Szczecin => UX/UI Designer <=
- 2024-05-18 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-18 Warszawa => Software .Net Developer <=
- 2024-05-18 Warszawa => Mid/Senior QA Engineer <=
- 2024-05-18 Ulm => Solution Architect (sichere Kommunikation und IoT-Loesungen <=
- 2024-05-18 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-05-18 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-18 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-18 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=