class Program { private const int MB = 1000000; private static string _folder; private static string _destFolder; private static bool _sameDestination; private static long _chunkSize; private static bool _move; private static bool _owerride; private static List<string> _skippedFiles = new List<string>(); private static long _totalCount; private static long _totalSize; private static string[] _files; [DllImport("kernel32.dll", SetLastError = true)] static extern IntPtr GetStdHandle(int nStdHandle); [DllImport("kernel32.dll")] static extern bool ReadConsoleW(IntPtr hConsoleInput, [Out] byte[] lpBuffer, uint nNumberOfCharsToRead, out uint lpNumberOfCharsRead, IntPtr lpReserved); public static IntPtr GetWin32InputHandle() { const int STD_INPUT_HANDLE = -10; IntPtr inHandle = GetStdHandle(STD_INPUT_HANDLE); return inHandle; } static void Main(string[] args) { Console.WriteLine("Folter to backup:"); _folder = ConsoleReadLine(); if(!Directory.Exists(_folder)) { Console.WriteLine("NOT FOUND"); return; } Console.WriteLine("Same destination?"); string yesNo = Console.ReadLine(); _sameDestination = yesNo.ToLower() == "yes"; if (!_sameDestination) { Console.WriteLine("Destination folter:"); _destFolder = ConsoleReadLine(); if (!Directory.Exists(_destFolder)) { Console.WriteLine("NOT FOUND"); return; } } else { _destFolder = _folder; } Console.WriteLine("Size of CD MB:"); _chunkSize = Convert.ToInt64(Console.ReadLine()) * MB; Console.WriteLine("Move files?"); _move = Console.ReadLine().ToLower() == "yes"; Console.WriteLine("Owerride partial results?"); _owerride = Console.ReadLine().ToLower() == "yes"; ScanForFilesLargeWhenSize(); PreStatistics(); Console.WriteLine("Are you sure tu start?"); yesNo = Console.ReadLine(); if(yesNo.ToLower() != "yes") { Console.WriteLine("FINISED"); return; } ProcessFolter(); } private static string ConsoleReadLine() { const int bufferSize = 1024; var buffer = new byte[bufferSize]; uint charsRead = 0; ReadConsoleW(GetWin32InputHandle(), buffer, bufferSize, out charsRead, (IntPtr)0); // -2 to remove ending \n\r int nc = ((int)charsRead - 2) * 2; var b = new byte[nc]; for (var i = 0; i < nc; i++) b[i] = buffer[i]; var utf8enc = Encoding.UTF8; var unicodeenc = Encoding.Unicode; return utf8enc.GetString(Encoding.Convert(unicodeenc, utf8enc, b)); } private static void ProcessFolter() { int chunkIndex = 0; long currentSize = 0; string currentFolter = string.Empty; long currentCount = 0; foreach (var file in _files) { string chunkName = string.Empty; var info = new FileInfo(file); if (chunkIndex == 0 || currentSize + info.Length > _chunkSize) { if (chunkIndex > 0) { Console.WriteLine("Chunk created: {0}", currentFolter); Console.WriteLine("Chunk size: {0} MB", currentSize / MB); Console.WriteLine("Chunk file count: {0}", currentCount); } currentSize = 0; currentCount = 0; chunkIndex++; chunkName = $"CD_{chunkIndex}"; currentFolter = Path.Combine(_destFolder, chunkName); Directory.CreateDirectory(currentFolter); } string subFolder = CreateChunkSubfolder(file, currentFolter); string destFile = Path.Combine(currentFolter, subFolder, info.Name); long size = info.Length; if (File.Exists(destFile) && _owerride) { File.Delete(destFile); } if (!File.Exists(destFile)) { if (_move) { File.Move(file, destFile); } else { File.Copy(file, destFile); } currentSize += size; currentCount++; } else { currentSize += new FileInfo(destFile).Length; } } } private static string CreateChunkSubfolder(string file, string destFolder) { string result = Path.GetDirectoryName(file).Replace(_folder, string.Empty).TrimStart(Path.DirectorySeparatorChar); string[] subfolders = result.Split(Path.DirectorySeparatorChar, StringSplitOptions.RemoveEmptyEntries); string curentFolder = destFolder; foreach(var folder in subfolders) { curentFolder = Path.Combine(curentFolder, folder); if (!Directory.Exists(curentFolder)) { Directory.CreateDirectory(curentFolder); } } return result; } private static void PreStatistics() { Console.WriteLine("===================="); Console.WriteLine("Total size to process: {0} MB", _totalSize / MB); Console.WriteLine("Total files count to process: {0}", _totalCount); Console.WriteLine("Minimal estimated chunks: {0}", (_totalSize / _chunkSize)+1); Console.WriteLine("Destination folder: {0}", _destFolder); Console.WriteLine("===================="); } private static void ScanForFilesLargeWhenSize() { _files = Directory.GetFiles(_folder, "*", SearchOption.AllDirectories); foreach (var file in _files) { var info = new FileInfo(file); if (info.Length > _chunkSize) { _skippedFiles.Add(file); Console.WriteLine("{0} SKIPPED with size {1} MB", file, info.Length / MB); } else { _totalCount++; _totalSize += info.Length; } } } }
Saturday, September 14, 2019
Backup with fixed size chunks
Here is a program to split large folders to fixed size chunks to backup it. Usually it takes 5 minutes to create ten 4Gb chunks with preserved folder structure you simply merge it again from backup. It supports Unicode for folders as well.
dictionary for a year
I started to prepare to new year with new words and phrases:
| topic1 | ||
| kindness | доброта | |
| concise | локаничный | |
| beside | рядом с | |
| serving | порция | |
| brewer | пивовар | |
| occasional | случайный | |
| hang out for | требовать | |
| reach out | добиваться | |
| leak out | обнаруживать | |
| topic2 | ||
| entire | цельный | |
| entice | соблазнять | |
| considerably | значительно | |
| blueprint | детельный план | |
| lay out | планировать | |
| efficient | результативный | |
| deal | сделка | |
| consume | расходовать | |
| approach | подход | |
| apparent | очевидный | |
| challenging | многообещающий | |
| topic3 | ||
| eliminate | устронять | |
| negligible | незначительный | |
| state | констатировать | |
| product | результат | |
| degree | степень | |
| intuetively | по наитию | |
| meaningless | бессмысленный | |
| lastly | в заключение | |
| imagine | воображать | |
| however | однако | |
| topic4 | ||
| multiply | умножать | |
| eliminating | исключение | |
| avoid | избегать | |
| coerce | заставлять | |
| although | хотя | |
| factorization | разложение на множетели | |
| modulus | остаток от деления | |
| sign | знак | |
| remaining | оставшийся | |
| fraction | дробь | |
| topic5 | ||
| esoteric | тайный | |
| rounding | округление | |
| precisely | точно | |
| hence | отсюда | |
| yield | давать результат | |
| luckily | к счастью | |
| Build-in | встроенный | |
| work around | в обход | |
| suppementary | добавочный | |
| floor | право выступать на собрании | |
| topic6 | ||
| round | круглый | |
| ceil | перекрывать | |
| representative | образец | |
| whether | ли | |
| unlike | в отлиции | |
| inequality | разница | |
| involve | привлекать | |
| prime | простое число | |
| improve | улучшать | |
| pattern | принцип | |
| topic7 | ||
| notice | замечать | |
| square root | квадратный корень | |
| wonder | удивляться | |
| recall | возвращаться | |
| decompose | раскладывать на составные части | |
| purpose | намерение | |
| explore | исследовать | |
| various | различный | |
| useful | успешный | |
| since | после того | |
| topic8 | ||
| easy to look at | симпатичный | |
| as well as | также как | |
| matched | подходящий | |
| within | внутри | |
| turn | менять направление | |
| throungh | на протяжении | |
| regular | правильный | |
| set | приводить в нужное положение | |
| massive | цельный | |
| topic9 | ||
| of its own accord | сам по себе | |
| bracket | заключать в скобки | |
| immensely | весьма | |
| concept | понятие | |
| supplementary | добавлчный | |
| denote | отмечать | |
| recap | краткое повторение | |
| reside | быть свойственным | |
| spread | разброс | |
| topic10 | ||
| even | уравновешенный | |
| odd | разрозненный | |
| refer | обращаться | |
| reduce | приводить к простому виду | |
| jagged | неровно оторванный | |
| daunting | обескураженный | |
| keeping | соблюдение | |
| Tick-tak-toe | крестики нолики | |
| tie | связка | |
| entrance | вход | |
| nicely | тщательно | |
| topic11 | ||
| maze | лабиринт | |
| degree | градус | |
| versatile | многосторонний | |
| similarly | подобныйм способом | |
| mimic | подражать | |
| come down | уменьшаться | |
| candy | леденец | |
| acknowledgment | благодарность | |
| thus | таким образом | |
| transpose | менять порядок | |
| topic12 | ||
| rank | ряд | |
| soil | почва | |
| slice | часть | |
| space | распологаться с промежжутками | |
| equation | уравнение | |
| stem | стебель | |
| attitude | отношение | |
| consideration | размышление | |
| toil | трудиться | |
| apart from | не говоря уже | |
| topic13 | ||
| tolerance | переносимость | |
| term | определенный период | |
| significant | существенный | |
| despite | несмотря на | |
| pitfall | подвох | |
| fall into place | становиться ясным | |
| key | основной | |
| discard | ненужный | |
| imaired | ослабленный | |
| even | даже | |
| topic14 | ||
| properly | должныйм образом | |
| outline | очертить | |
| during | во время | |
| marble | соблазнительный | |
| nutrition | пища | |
| since | так как | |
| whenever | вский раз когда | |
| rather | вернее | |
| mindful | внимательный к | |
| albeit | all through it | |
| topic15 | ||
| bloat | раздуваться | |
| reciprocal | обратный | |
| solidify | застывать | |
| get soaked through | промокнуть до нитки | |
| case | прецидент | |
| themselves | себя | |
| proper | должный | |
| desired | желательный | |
| outcome | итог | |
| topic16 | ||
| exibit | выражать | |
| qonquer | подчинять | |
| countdown | обратный отчет | |
| tail | заключительная часть | |
| prone | предрасположенный | |
| thankfully | к счастью | |
| concept | идея | |
| evaluate | оценивать | |
| just as well | пусть будет так | |
| brlong to | относиться | |
| topic17 | ||
| gain | преобретать | |
| permutation | перестановка | |
| swap | менять местами | |
| supersede | заменять | |
| halfway | на пол пути | |
| retrieval | извлечение | |
| Trade-off | компромис | |
| marginally | минимально | |
| pivot | опорный | |
| exhaust | исчерпывать | |
| topic18 | ||
| resultant | проистекающий | |
| preserve | сохранять | |
| hash | крошить | |
| nutshell | в двух словах | |
| persistent | постоянный | |
| determinate | определенный | |
| most | большинство | |
| uniform | единообразный | |
| distribution | распределение | |
| Head-on | лобовое | |
| topic19 | ||
| probing | прощупывание | |
| versatile | многоцелевой | |
| sceleton | набросок | |
| peek | быстрый взгляд | |
| evaluate | оценивать | |
| native | исконно присущий | |
| mutate | видоизменять | |
| recall | свспоминать | |
| mention | упоминать | |
| consequent | споследовательный | |
| topic20 | ||
| alter | менять | |
| distinction | отличие | |
| cashier | кассир | |
| parenthesis | вводное слово | |
| afterwards | в последствии | |
| shuffle | перемешивать | |
| fund out | выяснять | |
| inquiry | запрос | |
| futhermore | к тому же | |
| either | любой из двух | |
| topic21 | ||
| temporal | временный | |
| spatial | пространственный | |
| obvious | очевидный | |
| least | наименьший | |
| exсeed | превышать | |
| susceptible | восприимчивый | |
| forced | принудительный | |
| agjusted | отрегулированный | |
| accordingly | соответственно | |
| topic22 | ||
| bring | приносить | |
| evict | выгонять | |
| farthest | самый дальний | |
| approximate | сходный | |
| inferior | частность | |
| balancing | уравновешивание | |
| preordination | предопределение | |
| flatten | выравнивать | |
| otherwise | иначе | |
| named after | назван в честь | |
| topic23 | ||
| achieve | достигать | |
| appropriate | подходящий | |
| traverse | преодолевать | |
| skew | асиметрия | |
| implied | предпологаемый | |
| ancestor | предок | |
| fairly | должным образом | |
| whether | который из двух | |
| percolation | процеживание | |
| remain | оставаться | |
| topic24 | ||
| above | больше чем | |
| in place | в наличии | |
| likewise | подобно | |
| following | нижеперечисленный | |
| satisfied | уверенный | |
| straightforward | простой | |
| delve | изучать | |
| vertex | вершина | |
| edge | грань | |
| sparse | редкий | |
| topic24 | ||
| consider | рассматривать | |
| fraction | доля | |
| dense | черезмерный | |
| mutual | взаимный | |
| acknowledge | подтверждать | |
| adjacency | смекжность | |
| so far | до настоящего времени | |
| exhausted | потраченный | |
| employ | применять | |
| regard | касательно | |
| topic25 | ||
| chronological | во временном порядке | |
| thereof | из этого | |
| origin | источник | |
| overall | полный | |
| figure out | разгадывать | |
| moreover | кроме того | |
| trier | делающий все что в его силах | |
| brute force | грубая сила | |
| ahead | будущий | |
| mismatch | не подходить | |
| topic26 | ||
| backtrack | отказываться | |
| fingerprint | характерный признак | |
| absence | отсутствие | |
| break down | расщиплять | |
| overlap | частично покрывать | |
| immense | обширный | |
| literally | буквально | |
| knapsack | ранец | |
| contigous | соприкосающийся | |
| bit of fat | случайная удача | |
| exosceleton | панцырь | |
| topic27 | ||
| quit | бровать | |
| took out | достал | |
| lay | класть | |
| phone booth | телефонная будка | |
| mentally ill | психически больной | |
| stock market | фондовый рынок | |
| public debt | государственный долг | |
| pick fruits | собирать фрукты | |
| wild onion | дикий лук | |
| sell by date | срок реализации товара | |
| topic28 | ||
| stranger | посторонний человек | |
| discarded | выброшенный | |
| rest of us | остальные | |
| deal with | иметь дело с | |
| tramp | бродяга | |
| refuse | отказываться | |
| although | хотя | |
| freight train | грузовой поезд | |
| hitchhike | автостоп | |
| mussel | двухстворчатая ракушка | |
| salmon | лосось | |
| declare | обьявлять | |
| reckon | расчитывать | |
| cruft | хлам | |
| topic29 | ||
| peach | персик | |
| lamb | ягненок | |
| beetroot | свекла | |
| cabbage | капуста | |
| pear | груша | |
| aubergine | баклажан | |
| melon | дыня | |
| mussel | мидия | |
| beef | говядина | |
| prawn | креветка | |
| topic30 | ||
| prawn | придурок | |
| coutgette | мелкий кабачек | |
| cucumber | огурец | |
| clue | раскрывать секрет | |
| pea | горох | |
| keen | сообразительный | |
| baker | пекарь | |
| vowel | гласный звук | |
| jar | банка | |
| sausage | сосиска | |
| topic31 | ||
| squid | кальмар | |
| carton | тетропак | |
| tuna | тунец | |
| roast | печь в духовке | |
| baked | испеченный | |
| eat out | питаться вне дома | |
| be at grass | пастись | |
| streamed vegitables | распаренные овощи | |
| fried | жаренный | |
| grow | выращивать | |
| topic32 | ||
| steak | вифштекс | |
| heading | заглавие | |
| advice | совет | |
| work out | разобраться | |
| cereals | злаки | |
| disease | болезнь | |
| fibre | волокно | |
| cabrohydrate | углевод | |
| cure | лечение | |
| oily | маслянистый | |
| Ready-made | приготовленный | |
| lasagne | лазанья | |
| plenty | избыток | |
| go ahead | взять на себя решение | |
| incredible | маловероятный | |
| topic33 | ||
| cousin | двоюродный брат | |
| starter | первое блюдо | |
| lift | подвестти | |
| glass | стакан | |
| each other | друг друга | |
| shouting | кричать | |
| coach | тренер | |
| book | заказывать | |
| spoilt | избалованный | |
| jelaous | ревнивый | |
| topic34 | ||
| reliable | надежный | |
| borrow | занимать | |
| Self-confident | уверенный в чебе | |
| hit | ударять | |
| sutubborn | упрямый | |
| generous | великодушный | |
| kind | добрый | |
| matured | продуманный | |
| talkative | разговорчивый | |
| tidy | акуратный | |
| topic35 | ||
| bevy | собрание | |
| venue | есто проведения | |
| lebanese | ливанский | |
| go along with you | так я тебе и поверил | |
| piled | ворсистый | |
| pull up | препарковаться | |
| get out | выходить из машины | |
| lifeline | жизненно важная комуникация | |
| furniture | мебель | |
| topic36 | ||
| hardly ever | почти никогда | |
| survive | продолжать существовать | |
| babysit | няня | |
| boarding school | интернат | |
| gathering | заседание | |
| rivalry | соперничество | |
| estranged | раздельно проживающий | |
| spouse | супруг | |
| topic37 | ||
| waste | растрата | |
| afford | иметь возможность | |
| worth | стоимость | |
| raise | увеличивать | |
| owe | быть должным | |
| charge | забота | |
| lend | одалживать | |
| borrow | заимствовать | |
| debd | долг | |
| topic38 | ||
| pay back | оплачивать | |
| interest | привлекательность | |
| parking meter | счетчик стоянки | |
| take out | занимать | |
| shy | застенчивый | |
| outgoing | платежи | |
| everywhere | повсюду | |
| share | доля | |
| income | доход | |
| checkue | платежное поручение | |
| topic39 | ||
| fortnight | две недели | |
| healther | вериск | |
| shelter | приют | |
| swing | качать | |
| hut | хижина | |
| lend a hand | помочь | |
| sight | зрелище | |
| so far, so good | все идет нормально | |
| straightforward | простой | |
| savvy | здравый смысл | |
| topic40 | ||
| peal | звон колоколов | |
| adoring | поклоняющийся | |
| particular | частность | |
| catchy | притяательный | |
| tune | мелодия | |
| regard | считаться | |
| take into account | принять во внимание | |
| around | повсюду | |
| huge | огромный | |
| while | в то время как | |
| topic41 | ||
| performance | исполнение | |
| venue | место проведения | |
| follow | следить за речью | |
| take up | браться за что либо | |
| taste | пристрастие | |
| deaf | глухой | |
| distinguish | различать | |
| origin | происхождение | |
| emerge | выясняться | |
| syncopate | упрощать слово пропуская звук | |
| fond | нежный | |
| topic42 | ||
| caring | внимательный | |
| especially | сособенно | |
| soothing | успокаивающий | |
| hit | ударять | |
| simultaneously | одновременно | |
| tape | магнитная лента | |
| such and such | такой то | |
| suited | подходящий | |
| algae | водоросли | |
| significantly | многозначительно | |
| excited | взволнованный | |
| recital | подробное изложение | |
| topic43 | ||
| induction | стимулировать | |
| conduct | руководство | |
| enrollment | зачисление | |
| awareness | осознание | |
| syringe | пшприц | |
| prosper | процветать | |
| assurance | уверенность | |
| rob | разбойничать | |
| gain | усиление | |
| breath | отверстие | |
| topic44 | ||
| minset | образ мышления | |
| devuate | отклоняться | |
| mailformed | плохо сформированный | |
| bypass | обходить | |
| comply | соблюдать | |
| tenant | арендатор | |
| liability | ответственность | |
| mitigate | смягчать | |
| disclosure | обнаружение | |
| tighty | плотно | |
| least previlegie | наименьшая превилегия | |
| topic45 | ||
| sloppy | небрежный | |
| accuracy | точность | |
| nuisance | неприятность | |
| trunk | магистратьный | |
| abdominal crunch | качание пресса | |
| maintain | поддерживать | |
| overtake | догнать | |
| emphasize | придавать особое значение | |
| mention | упомянуть | |
| groceries | бакалея | |
| household | семейный | |
| expenditure | расходывание | |
| triple | тройной | |
| habit | привычка | |
| thive | процветать |
Monday, August 26, 2019
Old but not rusty
I started to utilize my GTX970 as parallel processing device. A strategy to support such old device is to downgrade operation system to a version that CUDA 5.5 toolkit supports. I still have no good progress with Ubuntu 12.0.4 but already built toolkit as well on Windows 10 especially via Visual Studio 2012 that available in visual studio web site. Thank you again for support historical versions of Visual Studio and business products, it often required for old devices maintenance.
GTX970 device info:
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 970"
CUDA Driver Version / Runtime Version 9.1 / 5.5
CUDA Capability Major/Minor version number: 5.2
Total amount of global memory: 4096 MBytes (4294967296 bytes)
MapSMtoCores for SM 5.2 is undefined. Default to use 192 Cores/SM
MapSMtoCores for SM 5.2 is undefined. Default to use 192 Cores/SM
(13) Multiprocessors, (192) CUDA Cores/MP: 2496 CUDA Cores
GPU Clock rate: 1329 MHz (1.33 GHz)
Memory Clock rate: 3505 Mhz
Memory Bus Width: 256-bit
L2 Cache Size: 1835008 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 2 copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
CUDA Device Driver Mode (TCC or WDDM): WDDM (Windows Display Driver Model)
Device supports Unified Addressing (UVA): Yes
Device PCI Bus ID / PCI location ID: 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.1, CUDA Runtime Version = 5.5, NumDevs = 1, Device0 = GeForce GTX 970
Result = PASS
GTX970 device info:
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 970"
CUDA Driver Version / Runtime Version 9.1 / 5.5
CUDA Capability Major/Minor version number: 5.2
Total amount of global memory: 4096 MBytes (4294967296 bytes)
MapSMtoCores for SM 5.2 is undefined. Default to use 192 Cores/SM
MapSMtoCores for SM 5.2 is undefined. Default to use 192 Cores/SM
(13) Multiprocessors, (192) CUDA Cores/MP: 2496 CUDA Cores
GPU Clock rate: 1329 MHz (1.33 GHz)
Memory Clock rate: 3505 Mhz
Memory Bus Width: 256-bit
L2 Cache Size: 1835008 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 2 copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
CUDA Device Driver Mode (TCC or WDDM): WDDM (Windows Display Driver Model)
Device supports Unified Addressing (UVA): Yes
Device PCI Bus ID / PCI location ID: 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.1, CUDA Runtime Version = 5.5, NumDevs = 1, Device0 = GeForce GTX 970
Result = PASS
Wednesday, August 21, 2019
Decorator is going to a platform
PostSharp with free 10 classes licenses is going to be in Ubuntu LTS soon.
A trivial announce with not trivial changes in IL code synthesis i think. When you started to work with porting libraries and ASP.NET to a target then this instrument will help to understand a difference that hidden in linux.
A trivial announce with not trivial changes in IL code synthesis i think. When you started to work with porting libraries and ASP.NET to a target then this instrument will help to understand a difference that hidden in linux.
Subscribe to:
Posts (Atom)
debug magazine archive
71 jounals still available on issuu with great story of netlabels time. debug_mag Publisher Publications - Issuu
-
71 jounals still available on issuu with great story of netlabels time. debug_mag Publisher Publications - Issuu
-
ypyrohov Fiverr Seller I am software engineer .Net on Linux an...
-
This iportant option in Visual studio I started to use from 2004, in JetBrains Rider 'Always Select Opened File' option is located ...