We were invited to a session of the 181th meeting of ASA.
https://www.researchgate.net/publication/356367868_High-performance_computing_for_long-range_underwater_acoustics
We were invited to a session of the 181th meeting of ASA.
https://www.researchgate.net/publication/356367868_High-performance_computing_for_long-range_underwater_acoustics
From this December, I am also a Guest Investigator at Woods Hole Oceanographic Institution.
I will work on HPC in underwater acoustics.
Hope I can provide some good achievements and make any feed-back to CTBT.
In order to avoid multiple installations of Intel-OneAPI and CMAKE, we can use installed ones.
Please install Install OneAPI and CMAKE via APT and put the packages.yaml under ~/.spack/ whose contents are as follows;
$ cat ~/.spack/packages.yaml
mpirun -np 8 -genv OMP_NUM_THREADS=16 -hosts node2-ib,node3-ib,node4-ib,node5-ib -ppn 2 ./sol
spack install octave+hdf5+fftw ^hdf5~mpi ^fftw~mpi ^amdblis threads=openmp ^amdlibflame threads=openmp
Using pyplot@Plots on Julia installed via spack is a bit complicated.
We first need to setup Python environment
(actually, you may want to use conda provided by Julia, so, you may do
Julia> ENV["PYTHON"]=""
)
as described in the following link;
https://github.com/JuliaPy/PyCall.jl
and then,
Julia> using Plots
Julia> pyplot()
Since we have the inverse QFFT, we can move to the phase estimation.
流石にちょっとぐらい理解しておいたほうが良いかなと思ってネットを巡っていたら良い資料が見つかったので。
新型コロナウイルスのウイルス学的特徴
https://www.eiken.co.jp/uploads/modern_media/literature/P11-18.pdf
It seems that Spack automatically generates very optimized binaries (probably with something like gcc -march=native).
This is usually a good thing, but if a cluster consists of several generations of CPUs, this would cause a problem. In my case, the front node is newer than compute nodes, and the spack modules die on compute nodes.
To avoid this, you may want to add the following in ./etc/spack/defaults/packages.yaml.
Then the compiled binaries are for generic x86_64.
packages: all: target: [x86_64]
Appended on 30/July/2021
It should be better to have a user level configuration rather than changing the global file
(the global config file will be overwritten with git pull or you will be complained).
$ cat ~/.spack/packages.yaml
packages:
all:
target: [x86_64]
https://spack.readthedocs.io/en/latest/configuration.html
Since Oct file of Octave is used to get a speedup, I think profiling of oct-files is useful, but I have not been able to do so. Oct-file is an executable binary called by Octave, and so, the profilers might be confused.
Recently, I have just found that "Intel Advisor" can get the information of my oct file. In addition, it really gives me the advice to get better performance.
We just need to launch Octave script to get the performance, namely you need to specify the following on Intel Advisor,
Binary: octave or octave-cli,
Option: an Octave script that calls your Oct-file.
That's it!
I finally found a way to build Octave with intel compiler and mkl.
I sometimes recall the memory that my former supervisor rejected my proposal (GPU computation), but my stolen idea became vital with one of my colleagues after half a year.
OK, if I did not have any proven record while he had, I should have been convinced, but the truth is the other way round.
Or, some disgusting my colleagues contributed to disturbing my scientific activities.
Even UN is not a fair place.
I have just got access to a hand-made PC cluster, and I encounter an interesting problem.
A compute node complains of "illegal instruction", while the architecture is almost the same as that of the head node (Sandybridge, and Haswell). Furthermore, I experienced the problem even with binaries compiled on the compute node. That is totally clueless.
When I login (yeah, it is allowed, luckily) to a compute node, I realize that the terminal says
"-bash: warning: setlocale: LC_CTYPE: cannot change locale (ja_JP.utf8): No such file or directory".
I did the following half in doubt, and the "illegal instruction" disappears!;
"export LC_ALL=en_US.utf8"
I do not know what is really going on, but this is my story.
I do feel that accessing offsetarray, which is a member of a structure in Julia, is extremely slow.
In my case, I use a staggered grid in a FDTD code, and defined a structure as;
then accessed like (output, input, resOfCalcF are all "grid".)
It seems that Julia cannot determine the type of ".p" and this causes the type-instability.
To avoid this, I needed to cast type as
and the array starts from 1 (the loop starts from 2, because the outer most layer is just a dummy)
I have not measured the speed-up, but probably x10 - x100 speedup is obtained.
5月19日から3G(陰性証明書/ワクチン接種証明書/罹患証明書の略らしい)を持っていればジムに入れるようになりました。おかげで首の調子もだいぶ戻ったし、血圧も一気に下がった。これから徐々に制限が解除されていくようだけれど、3G所持じゃないとダメな行動が広がるということでもあり、早めにワクチン接種したい。
From the 19th of May, the gyms in Vienna were allowed to re-open, but for those who have 3G certificates (certificates of negative/vaccinated/recovery). Because of the lack of exercise, my neck started complaining to me, and I got hypertension. after a couple of weeks, they are getting better. importance of exercise :)
Getting the negative certificate is not difficult whilst a bit annoying. I may wish to get vaccinated soon.
I am creating this kind of movie, and finally, I have succeeded to find the set of tools useful on Linux.
(1) GeoTracker on Android
This allows me to get the positions at each time point located with GPS.
https://play.google.com/store/apps/details?id=com.ilyabogdanovich.geotracker&hl=ja&gl=US
(2) RouteConverterLinux
This allows me to edit the points measured above without losing the timing information.
I tried with Google Maps, but it automatically deletes the timing information.
On Ubuntu 20.04, I needed to install OpenJDK 14, and the command is;
/usr/lib/jvm/java-14-openjdk-amd64/bin/java -jar RouteConverterLinux.jar
https://www.routeconverter.de/downloads/de
(3) Google Earth
You should be able to google "Virtual Tour", and scrutinize ;)
The movie I am creating:
I have not written this, but I succeeded to get Xiaomi's Poco F3 on the launch date in Europe via Amazon (8G RAM/ 256 storage ver).
So far so good, and love 48M pixel camera!
PS:
I did not know, but recent android can transfer the environment very easily. The thing I love most is that Google authenticator entries can be transferred using QR code with just one step.
I have recently bought the Poco F3, and my old Xiaomi A1 can be bricked!
So, I became to want to test some custom ROMs.
Finally, I realized the pixel experience only offers Android 11 as an official one, and installed it.
I just followed the instruction and it worked!
I may not use this intensively, but it seems the ROM is quite stable.
So far, the only defect I have found is that there is no way to use the tele-lens.
Based on the last QFT , I tried the inverse QFT.
I got the result of [640, 654, 573, 666, 615, 601, 635, 654, 616, 603, 646, 602, 629, 605, 593, 668].
This means that the initial state of QFFT is recovered by iQFFT.
The codes of QFT and iQFT are as follows (as far as I understand).
Since my wife started learning statistics, and I wanted to give her some intuitive understanding of the normal distribution, standard deviation, 95% confidence region etc, I made a small python code which generates an animation of the histogram of dice rolls.
This could help others time ;)
(Distribute under MIT license)
ウィーンのドナウインゼルの北東に桜の木がたくさん植えてあるキルシェンハインという場所があり、そろそろ満開になりそうだったので行ってきました。まだ木が若いので少し迫力にはかけますが、春の気配を感じるには十分でした。
https://goo.gl/maps/4fJwEzJJn8LTLhb89
Probably someone has updated the DGX station system, and g++-10 compiler complains as
lto1: error: ‘-fcf-protection=full’ is not supported for this target.
LD= g++-10 -fopenacc -foffload="-fcf-protection=none -fno-stack-protector"
Looks nice, and the author provides Python codes (and some other languages).
I also have a kind of colour blindness (red and green). It would be nice to have this.
https://ai.googleblog.com/2019/08/turbo-improved-rainbow-colormap-for.html
I have not known that GPT boot loaders can be deleted in BIOS setting.
So, if you want to delete dual boot Linux, you just need to delete the bootloader and remove the Linux partitions (and expand the Windows partition).
https://itsfoss.com/uninstall-ubuntu-linux-windows-dual-boot/
I needed to transfer data from Oracle to PostgreSQL, which are on different machines.
This time, I used Pandas and Pickle on Python 2.7.
Reading from Oracle:
Writing to PostgreSQL:
(Note1, table name, schema and column names should be in lower case. Otherwise, you will find or need strange double quotation marks.
Note2, you should give chunksize. Otherwise, the python instance will eat up all the memory.
Note3, you need to set up schemas, but tables will be automatically created)
As continued from QFT part 4 , the number of qubits is now adjustable.
NQubit = 3 and 4 are working correctly.
I think I made a mistake and updated on 1st of May, 2021.
Since I do want to extend the number of qubits from three to more, I have re-written the code with R1 gate, in stead of S and T.
Lessons learned: Functions and operations can be defined. Here a function which returns Double is created. Operations might be used for qubits. Not sure now.
Still playing around QFFT. Improved the last one with ResultArrayAsInt and MultiM.
Those allow me to shorten the code a bit, and may allow me to go the 4 qubit case.
One thing I am not quite sure is, which end is the LSB?
I suspect 0 is the LSB, but no clue.
I think 0 is LSB because when I modify the code as follows; 5th element (namely 100=4) of "count" has "1000"
I have just notified that my newly published paper got a DOI.
https://doi.org/10.1142/S0219876221500274
Actually, I got the notification from ORCID, not from the journal. Things are getting well organized, but feel some skew.
Minor tips for problems I was into in Jug, a parallel computing framework in Python.
I may be wrong, and if you know I misunderstand, please leave comments:
【福島から伝えたい】”ハゲと白髪”集う「じじい部隊」に問う「原発があって幸せだった?」記者が見た10年
http://web.archive.org/web/20210130064836/https://news.yahoo.co.jp/articles/e05797830e256aece6056c6a4cd8b343d29037a8
The following code gives the select grant on all the tables in your schema to "test2" user.
(last slash "/" is important)
Just a copy from;
https://sites.google.com/site/nazmulhudadba/grant-select-on-all-tables-in-a-specific-schema-to-a-user
We are still using Python2.6 on RH6, and packages are getting out-dated.
Pandas is one of those, and need the following command to be installed.
% easy_install 'pandas==0.17.1'
This seems the latest version for Python 2.6
And also numexpr is necessary for the "query" but the latest version numexpr cannot be installed.
% easy_install 'pandas==2.4'
at least works.
Since I always forget how to convert datetime to epoch, I just want to write a memo.
In Python
>>> import datetime
>>> d = datetime.datetime(2019,1,1,0,0,0)
>>> print(d)
2019-01-01 00:00:00
>>> epoch = d.strftime("%s")
>>> print(epoch)
1546300800
I am thinking if OpenMP Offloading works with XcalableMP, and desire to play around it.
Luckily, my laptop has Core i7-8665U, and Intel's OneAPI compiler provides us with openmp-offloading.
Software installation is quite straightforward;
https://software.intel.com/content/www/us/en/develop/articles/installing-intel-oneapi-toolkits-via-apt.html#aptpkg
And the first step guide is;
https://software.intel.com/content/www/us/en/develop/documentation/get-started-with-cpp-fortran-compiler-openmp/top.html
Surely working!