charm.git
11 years agoreport total restart time
Gengbin Zheng [Sat, 20 Feb 2010 05:10:56 +0000 (23:10 -0600)]
report total restart time

11 years agoMerge branch 'charm' of charmgit:charm into charm
Gengbin Zheng [Sat, 20 Feb 2010 04:10:15 +0000 (22:10 -0600)]
Merge branch 'charm' of charmgit:charm into charm

11 years agodisable CmiBarrier in TimerInit when doing in-mem restart from checkpoint. This won...
Gengbin Zheng [Sat, 20 Feb 2010 04:08:19 +0000 (22:08 -0600)]
disable CmiBarrier in TimerInit when doing in-mem restart from checkpoint. This won't work since other processors except the crashed one don't participate.
Add a warning at restart time, when a user's migratable constrctor is not well written.

11 years agoadded memory pool for pinned memory allocated on host. maintains
Pritish Jetley [Sat, 20 Feb 2010 02:10:48 +0000 (20:10 -0600)]
added memory pool for pinned memory allocated on host. maintains
lists of free buffers of various sizes (1k-16M.) failure if no
buffers available in a list. if a buffer of a larger size is required,
will expand pool to include a list with a single new buffer of that
size. counts of buffers allocated for various sizes is currently
hard-coded. should formulate a better way to allocate these buffers.

11 years agoMerge branch 'charm' of charmgit:charm into charm
Gengbin Zheng [Fri, 19 Feb 2010 22:57:09 +0000 (16:57 -0600)]
Merge branch 'charm' of charmgit:charm into charm

11 years agoswitch to the mode of finding buddy processor regardless of SMP node.
Gengbin Zheng [Fri, 19 Feb 2010 22:52:15 +0000 (16:52 -0600)]
switch to the mode of finding buddy processor regardless of SMP node.
Also fixed some typo

11 years agofixed previous check in (make sure it gives double number)
Gengbin Zheng [Fri, 19 Feb 2010 17:50:15 +0000 (11:50 -0600)]
fixed previous check in (make sure it gives double number)

via git-CVS emulator

11 years agoVC++ does not lrand48.
Gengbin Zheng [Fri, 19 Feb 2010 17:30:52 +0000 (11:30 -0600)]
VC++ does not lrand48.

via git-CVS emulator

11 years agoswitch to use new translator generated Cmigroup group send
Gengbin Zheng [Fri, 19 Feb 2010 16:00:24 +0000 (10:00 -0600)]
switch to use new translator generated Cmigroup group send

11 years agoupdated to use new syntax
Gengbin Zheng [Fri, 19 Feb 2010 15:48:54 +0000 (09:48 -0600)]
updated to use new syntax

11 years agofor group entry, generate a new function similar to listsend, but using CmiGroup.
Gengbin Zheng [Fri, 19 Feb 2010 15:48:03 +0000 (09:48 -0600)]
for group entry, generate a new function similar to listsend, but using CmiGroup.

11 years agofixed a compiler warning
Gengbin Zheng [Fri, 19 Feb 2010 15:47:29 +0000 (09:47 -0600)]
fixed a compiler warning

11 years agomove int declaration to the beginning of block (C style)
Gengbin Zheng [Fri, 19 Feb 2010 06:53:03 +0000 (00:53 -0600)]
move int declaration to the beginning of block (C style)

11 years agoin hybridLB, the level 1 group can be fairly big for example 1K cores. At time of...
Gengbin Zheng [Fri, 19 Feb 2010 06:43:54 +0000 (00:43 -0600)]
in hybridLB, the level 1 group can be fairly big for example 1K cores. At time of multicasting a migration decsion message (which can be like 6MB each) through ListSend call, charm makes 1K copies of the message, which is like 6GB.
Optimized this by using the newly implemented CkSendMsgBranchGroup() that uses a multicast tree internally.
TODO: implement a translator proxy interface, instead of calling CkSendMsgBranchGroup() directly.

11 years agoPreventing the previous commit to break record/replay
Filippo Gioachin [Fri, 19 Feb 2010 06:33:02 +0000 (00:33 -0600)]
Preventing the previous commit to break record/replay

11 years agoa test for CkSendMsgBranchGroup
Gengbin Zheng [Fri, 19 Feb 2010 05:46:47 +0000 (23:46 -0600)]
a test for CkSendMsgBranchGroup

11 years agoa new CkSendMsgBranchGroup function, similar to CkSendMsgBranchMulti (which takes...
Gengbin Zheng [Fri, 19 Feb 2010 05:43:52 +0000 (23:43 -0600)]
a new CkSendMsgBranchGroup function, similar to CkSendMsgBranchMulti (which takes npes, pes), the new function takes CmiGroup to specify the list of multicast processors.

11 years agohmm, unused pemap caused memory leak
Gengbin Zheng [Fri, 19 Feb 2010 03:11:03 +0000 (21:11 -0600)]
hmm, unused pemap caused memory leak

11 years agobuild pose in ck-libs now
Gengbin Zheng [Thu, 18 Feb 2010 21:01:35 +0000 (15:01 -0600)]
build pose in ck-libs now

11 years agoremoved some incomplete debugging print items from the previous checkin.
Gengbin Zheng [Thu, 18 Feb 2010 18:20:40 +0000 (12:20 -0600)]
removed some incomplete debugging print items from the previous checkin.

11 years agopreallocate some memory from heap before doing the real test. (mallinfo based CmiMemo...
Gengbin Zheng [Thu, 18 Feb 2010 17:14:31 +0000 (11:14 -0600)]
preallocate some memory from heap before doing the real test. (mallinfo based CmiMemoryUsage() is happier this way)

via git-CVS emulator

11 years agosome comments about using mallinfo
Gengbin Zheng [Thu, 18 Feb 2010 16:54:02 +0000 (10:54 -0600)]
some comments about using mallinfo

via git-CVS emulator

11 years agochange net-linux to net-linux-x86_64 in examples (64 bit is more popular now)
Gengbin Zheng [Thu, 18 Feb 2010 16:15:13 +0000 (10:15 -0600)]
change net-linux to net-linux-x86_64 in examples (64 bit is more popular now)
get rid of obsolete "amd64"

11 years agoremove stdout, which can be a reason for crashing (I guess some malloc in fflush...
Gengbin Zheng [Thu, 18 Feb 2010 06:01:07 +0000 (00:01 -0600)]
remove stdout, which can be a reason for crashing (I guess some malloc in fflush() is mistakenly treated as isomalloc)

11 years agothis file is effected by the type names changes in the previous checkin
Gengbin Zheng [Thu, 18 Feb 2010 03:37:03 +0000 (21:37 -0600)]
this file is effected by the type names changes in the previous checkin

11 years agoMerge branch 'charm' of charmgit:charm into charm
Gengbin Zheng [Thu, 18 Feb 2010 03:36:00 +0000 (21:36 -0600)]
Merge branch 'charm' of charmgit:charm into charm

11 years agochanged a few type names prepending with '_' for indicating that they are internal...
Gengbin Zheng [Thu, 18 Feb 2010 03:35:09 +0000 (21:35 -0600)]
changed a few type names prepending with '_' for indicating that they are internal types, so to reduce the conflict with user types.

11 years agoMerge branch 'charm' of charmgit:charm into charm
Chao Mei [Thu, 18 Feb 2010 00:54:46 +0000 (18:54 -0600)]
Merge branch 'charm' of charmgit:charm into charm

11 years ago1. Added a second mode for SMP: we have a separate communication thread
Chao Mei [Thu, 18 Feb 2010 00:48:39 +0000 (18:48 -0600)]
1. Added a second mode for SMP: we have a separate communication thread

2. Changes regarding the msg seqno:
   a) Use separate tracks of seqno for p2p and broadcast msgs as the net layer does
   b) Make the out-of-order msg buffer expand if necessary
   c) Fixed bugs for buffering out-of-order msgs if the seqno changes from MAX_MSG_SEQNO to 1 (i.e. seqno starts a new round)

3. Added a mode to let the broadcast msg forwarding done in the context of a "processor". This is useful for having a separate comm thread, and for later optimization if making the msg completion handler inline.

11 years agominor changes to the memUsage test.
Gengbin Zheng [Wed, 17 Feb 2010 22:47:09 +0000 (16:47 -0600)]
minor changes to the memUsage test.

via git-CVS emulator

11 years agoallocate 1MB so that CmiMemoryUsage show something different (for Mac using sbrk)
Gengbin Zheng [Wed, 17 Feb 2010 22:33:59 +0000 (16:33 -0600)]
allocate 1MB so that CmiMemoryUsage show something different (for Mac using sbrk)

via git-CVS emulator

11 years agoMerge branch 'charm' of charmgit:charm into charm
Gengbin Zheng [Wed, 17 Feb 2010 18:08:51 +0000 (12:08 -0600)]
Merge branch 'charm' of charmgit:charm into charm

11 years agomake sure clean really cleans up all windows intermediate file.
Gengbin Zheng [Wed, 17 Feb 2010 18:06:54 +0000 (12:06 -0600)]
make sure clean really cleans up all windows intermediate file.

11 years agoMerge branch 'charm' of charmgit:charm into charm
Gengbin Zheng [Wed, 17 Feb 2010 17:29:52 +0000 (11:29 -0600)]
Merge branch 'charm' of charmgit:charm into charm

11 years agofixed to use new API
Gengbin Zheng [Wed, 17 Feb 2010 17:21:41 +0000 (11:21 -0600)]
fixed to use new API

11 years agoFEM Tests: Build Fortran version to avoid runtime compilation
Phil Miller [Wed, 17 Feb 2010 17:20:33 +0000 (11:20 -0600)]
FEM Tests: Build Fortran version to avoid runtime compilation

11 years agoadded a missing prototype for TCHARM_Register_thread_function
Gengbin Zheng [Wed, 17 Feb 2010 17:16:51 +0000 (11:16 -0600)]
added a missing prototype for TCHARM_Register_thread_function

11 years agouse ckNew that does not create VidBlock
Gengbin Zheng [Wed, 17 Feb 2010 16:31:01 +0000 (10:31 -0600)]
use ckNew that does not create VidBlock

11 years agoclean up the cross file variables declarations, etc for the previous commit
Gengbin Zheng [Wed, 17 Feb 2010 16:24:11 +0000 (10:24 -0600)]
clean up the cross file variables declarations, etc for the previous commit

11 years agoforgot to CpvInitialize the vidblockmap
Gengbin Zheng [Wed, 17 Feb 2010 14:28:48 +0000 (08:28 -0600)]
forgot to CpvInitialize the vidblockmap

11 years agoa test for CmiMemoryUsage()
Gengbin Zheng [Wed, 17 Feb 2010 02:30:28 +0000 (20:30 -0600)]
a test for CmiMemoryUsage()

11 years agominor change
Gengbin Zheng [Tue, 16 Feb 2010 23:02:28 +0000 (17:02 -0600)]
minor change

11 years agosimplify the test if it is freeing a plain chare
Gengbin Zheng [Tue, 16 Feb 2010 22:15:11 +0000 (16:15 -0600)]
simplify the test if it is freeing a plain chare

11 years agoinitialize chareIdx to -1 for array elements
Gengbin Zheng [Tue, 16 Feb 2010 22:10:12 +0000 (16:10 -0600)]
initialize chareIdx to -1 for array elements

11 years agoclean up vidblock when a chare is deleted. Note that since vidblock can be on a diffe...
Gengbin Zheng [Tue, 16 Feb 2010 21:03:21 +0000 (15:03 -0600)]
clean up vidblock when a chare is deleted. Note that since vidblock can be on a different processor, this can generate a message for it.

11 years agoMerge branch 'charm' of charmgit:charm into charm
Pritish Jetley [Tue, 16 Feb 2010 16:54:57 +0000 (10:54 -0600)]
Merge branch 'charm' of charmgit:charm into charm

11 years agoAdded 'delayed free' facility, so that requests to free host memory
Pritish Jetley [Tue, 16 Feb 2010 16:51:18 +0000 (10:51 -0600)]
Added 'delayed free' facility, so that requests to free host memory
via cudaFreeHost() do not block when GPU is executing a kernel. These
free requests are queued and flushed at a later time.

The queue storing delayed free requests can be made more efficient.

I've placed the flush calls at the points in cuda-hybrid-api.cu where
we earlier had calls to flushPinnedMemoryReqs(), assuming that the
GPU is free at only and all of these points.

11 years agouse gfortran instead of g77.
Gengbin Zheng [Tue, 16 Feb 2010 06:36:26 +0000 (00:36 -0600)]
use gfortran instead of g77.

11 years agoMerge branch 'charm' of charmgit:charm into charm
Gengbin Zheng [Mon, 15 Feb 2010 20:58:19 +0000 (14:58 -0600)]
Merge branch 'charm' of charmgit:charm into charm

11 years agochange the order of tests.
Gengbin Zheng [Mon, 15 Feb 2010 20:57:01 +0000 (14:57 -0600)]
change the order of tests.

11 years agoMerge branch 'charm' of charmgit:charm into charm
Gengbin Zheng [Mon, 15 Feb 2010 18:05:48 +0000 (12:05 -0600)]
Merge branch 'charm' of charmgit:charm into charm

11 years agoadded -DCMK_CC_PGCC if it is pgcc
Gengbin Zheng [Mon, 15 Feb 2010 18:04:30 +0000 (12:04 -0600)]
added -DCMK_CC_PGCC if it is pgcc

11 years agoRemoving unnecessary parameter to sprintf that was already ignored.
Isaac Dooley [Mon, 15 Feb 2010 16:14:27 +0000 (10:14 -0600)]
Removing unnecessary parameter to sprintf that was already ignored.

11 years agoFixing memory leak in a debugging routine.
Isaac Dooley [Mon, 15 Feb 2010 15:51:50 +0000 (09:51 -0600)]
Fixing memory leak in a debugging routine.

11 years agoa few important optimizations:
Gengbin Zheng [Sun, 14 Feb 2010 15:18:00 +0000 (09:18 -0600)]
a few important optimizations:
1. vector load balancing, instead of sending thousands of individule messages, group by destination pes
2. use priority messages to avoid the problem that may overloaded higher level domain leader processors
3. replace the inefficient CkVec (doing lieanr search) by using std::map to store and match from and to pairs of objects in global tree reduction.

11 years agoimplemented operator < for ObjKey and related class so that they can be used in std...
Gengbin Zheng [Sun, 14 Feb 2010 08:07:25 +0000 (02:07 -0600)]
implemented operator < for ObjKey and related class so that they can be used in std::map.

11 years agoMerge branch 'charm' of charmgit:charm into charm
Gengbin Zheng [Sat, 13 Feb 2010 03:43:09 +0000 (21:43 -0600)]
Merge branch 'charm' of charmgit:charm into charm

11 years agoMerge branch 'charm' of charmgit:charm into charm
Isaac Dooley [Fri, 12 Feb 2010 23:59:27 +0000 (17:59 -0600)]
Merge branch 'charm' of charmgit:charm into charm

11 years agoMerge branch 'charm' of charmgit:charm into charm
Gengbin Zheng [Fri, 12 Feb 2010 22:49:34 +0000 (16:49 -0600)]
Merge branch 'charm' of charmgit:charm into charm

11 years agotest both g77 and f77
Gengbin Zheng [Fri, 12 Feb 2010 22:46:40 +0000 (16:46 -0600)]
test both g77 and f77

11 years agoadded bigsim changes
Gengbin Zheng [Fri, 12 Feb 2010 14:39:04 +0000 (08:39 -0600)]
added bigsim changes

11 years agoChanges to CHANGES file
Filippo Gioachin [Fri, 12 Feb 2010 03:23:17 +0000 (21:23 -0600)]
Changes to CHANGES file

11 years ago--with-production must also turn off Record/replay overhead
Filippo Gioachin [Fri, 12 Feb 2010 02:31:49 +0000 (20:31 -0600)]
--with-production must also turn off Record/replay overhead

11 years agoadded --with-production in help
Gengbin Zheng [Fri, 12 Feb 2010 01:42:18 +0000 (19:42 -0600)]
added --with-production in help

11 years agoadded a new option --with-production, it add #define CMK_OPTIMIZE into ocnv-mach... charm-6.2.0-pre0
Gengbin Zheng [Fri, 12 Feb 2010 01:32:45 +0000 (19:32 -0600)]
added a new option --with-production, it add #define CMK_OPTIMIZE into ocnv-mach-opt.h

11 years agoThe interrupt mode is not quite stable yet. It may results many occurrences of out...
Chao Mei [Thu, 11 Feb 2010 22:42:41 +0000 (16:42 -0600)]
The interrupt mode is not quite stable yet. It may results many occurrences of out-of-msg delivery between a pair of procs, which triggers some assertion failures. So switch back to polling mode again :(

11 years ago1. Added real lock for PCQueue in the non-smp mode.
Chao Mei [Thu, 11 Feb 2010 22:33:35 +0000 (16:33 -0600)]
1. Added real lock for PCQueue in the non-smp mode.
2. Added periodic call to network progress engine if LAPI is running in polling mode.

11 years agoadded uth-* to ignore list
Gengbin Zheng [Thu, 11 Feb 2010 20:06:35 +0000 (14:06 -0600)]
added uth-* to ignore list

11 years agoadded uth-*
Gengbin Zheng [Thu, 11 Feb 2010 20:06:35 +0000 (14:06 -0600)]
added uth-*

11 years agomake sure if CMK_REPLAYSYSTEM is separately defined, it won't cause compiler complain.
Gengbin Zheng [Thu, 11 Feb 2010 20:03:08 +0000 (14:03 -0600)]
make sure if CMK_REPLAYSYSTEM is separately defined, it won't cause compiler complain.

11 years agoRecord/replay does not depend on CCS
Filippo Gioachin [Thu, 11 Feb 2010 19:51:51 +0000 (13:51 -0600)]
Record/replay does not depend on CCS

11 years agoMerge branch 'charm' of charmgit:charm into charm
Phil Miller [Thu, 11 Feb 2010 18:23:30 +0000 (12:23 -0600)]
Merge branch 'charm' of charmgit:charm into charm

11 years agoMore cleanup in the change log
Phil Miller [Thu, 11 Feb 2010 18:23:07 +0000 (12:23 -0600)]
More cleanup in the change log

11 years agoprint what extra compiler flags -use-build-options applies
Gengbin Zheng [Thu, 11 Feb 2010 17:33:13 +0000 (11:33 -0600)]
print what extra compiler flags -use-build-options applies

11 years agoMerge branch 'charm' of charmgit:charm into charm
Gengbin Zheng [Thu, 11 Feb 2010 17:29:24 +0000 (11:29 -0600)]
Merge branch 'charm' of charmgit:charm into charm

11 years agoa new charmc option "-use-build-options" to compile a charm program with the user...
Gengbin Zheng [Thu, 11 Feb 2010 17:27:39 +0000 (11:27 -0600)]
a new charmc option "-use-build-options" to compile a charm program with the user-specified build options when running "build".

11 years agoTests: Silence a const-ness warning
Phil Miller [Thu, 11 Feb 2010 17:14:23 +0000 (11:14 -0600)]
Tests: Silence a const-ness warning

11 years agoRemoving old interface methods: associatePriorityArray and associatePriorityEntry.
Isaac Dooley [Thu, 11 Feb 2010 17:12:36 +0000 (11:12 -0600)]
Removing old interface methods: associatePriorityArray and associatePriorityEntry.

11 years agoused CMK_REPLAYSYSTEM tio gurad the change.
Gengbin Zheng [Thu, 11 Feb 2010 16:30:33 +0000 (10:30 -0600)]
used CMK_REPLAYSYSTEM tio gurad the change.
CMK_REPLAYSYSTEM is on when CMK_OPTIMIZE is not defined

via git-CVS emulator

11 years agoupdated
Gengbin Zheng [Thu, 11 Feb 2010 05:58:52 +0000 (23:58 -0600)]
updated

11 years agoA few fixes related to record/replay recently pushed in
Filippo Gioachin [Thu, 11 Feb 2010 00:21:41 +0000 (18:21 -0600)]
A few fixes related to record/replay recently pushed in

Merge commit 'charm/charm' into development

11 years agoUnchanged the function CthResumeNormalThread to its previous state (without record...
Filippo Gioachin [Wed, 10 Feb 2010 23:47:21 +0000 (17:47 -0600)]
Unchanged the function CthResumeNormalThread to its previous state (without record-replay).
Added a new function (copy of CthResumeThread) that calls the record-replay mechanism.

11 years agoMoving some definitions from converse to charm. They are not really needed at the...
Filippo Gioachin [Wed, 10 Feb 2010 20:14:22 +0000 (14:14 -0600)]
Moving some definitions from converse to charm. They are not really needed at the converse level.
Hopefully this fixes the linking problem in windows.

11 years agoMerge branch 'charm' of charmgit:charm into charm
Abhinav Bhatele [Wed, 10 Feb 2010 21:06:27 +0000 (15:06 -0600)]
Merge branch 'charm' of charmgit:charm into charm

Conflicts:
CHANGES

11 years agodocument Abhinav's changes
Abhinav Bhatele [Wed, 10 Feb 2010 21:01:45 +0000 (15:01 -0600)]
document Abhinav's changes

11 years agoCover Eric's changes in the Changelog
Phil Miller [Wed, 10 Feb 2010 20:54:59 +0000 (14:54 -0600)]
Cover Eric's changes in the Changelog

11 years agoStart adding changelog entries for Charm 6.2
Phil Miller [Wed, 10 Feb 2010 20:24:33 +0000 (14:24 -0600)]
Start adding changelog entries for Charm 6.2

11 years agoFix error when compiling with -DCMK_OPTIMIZE
Filippo Gioachin [Wed, 10 Feb 2010 19:34:25 +0000 (13:34 -0600)]
Fix error when compiling with -DCMK_OPTIMIZE

11 years agooptimize HybridBaseLB::ReceiveVectorMigration to send aggregated message instead...
Gengbin Zheng [Wed, 10 Feb 2010 06:05:46 +0000 (00:05 -0600)]
optimize HybridBaseLB::ReceiveVectorMigration to send aggregated message instead of one for each obj

11 years agoThere is some apparent problem with changing the definitions of convcore.h: pure...
Filippo Gioachin [Wed, 10 Feb 2010 04:34:48 +0000 (22:34 -0600)]
There is some apparent problem with changing the definitions of convcore.h: pure converse programs stop working.
Thus, since the replay mechanism is tied only to Charm++, moving them all to middle-conv.h. For this purpose, a few more redefinitions are added.
Ideally also the Async functions should be redefined, but that would imply changing also how CommHandle are checked, so for now leaving those functions unchanged...

11 years agoStupidly mistaken return statement
Filippo Gioachin [Wed, 10 Feb 2010 03:14:38 +0000 (21:14 -0600)]
Stupidly mistaken return statement

11 years agoInclude missing for type define
Filippo Gioachin [Wed, 10 Feb 2010 02:09:03 +0000 (20:09 -0600)]
Include missing for type define

11 years agoAdding shutdown mechanism for detailed replay
Filippo Gioachin [Wed, 10 Feb 2010 01:22:37 +0000 (19:22 -0600)]
Adding shutdown mechanism for detailed replay

11 years agoQuiescence must be called by a single processor, otherwise it gets overloaded
Filippo Gioachin [Wed, 10 Feb 2010 01:22:00 +0000 (19:22 -0600)]
Quiescence must be called by a single processor, otherwise it gets overloaded

11 years agoRemoving debugging check
Filippo Gioachin [Tue, 9 Feb 2010 23:54:29 +0000 (17:54 -0600)]
Removing debugging check

11 years agoMerge branch 'charm' into dev
Filippo Gioachin [Wed, 10 Feb 2010 01:42:07 +0000 (19:42 -0600)]
Merge branch 'charm' into dev

11 years agoRevert the default mode to polling mode in non-smp case because the CmiNodeLock is...
Chao Mei [Tue, 9 Feb 2010 23:49:39 +0000 (17:49 -0600)]
Revert the default mode to polling mode in non-smp case because the CmiNodeLock is not defined as a real lock in non-smp case.

11 years agoHandle immediate messages differently in SMP mode because the pthread private variabl...
Chao Mei [Tue, 9 Feb 2010 07:48:05 +0000 (01:48 -0600)]
Handle immediate messages differently in SMP mode because the pthread private variables such as CmiGetState(), CmiMyPe() etc will not be obtained correctly in the LAPI completion handler. The handling of imm msgs is moved to CmiNotifyIdle()when the proc is in idle state.

11 years ago1. Set the #completion handler thread to be 1
Chao Mei [Tue, 9 Feb 2010 22:34:23 +0000 (16:34 -0600)]
1. Set the #completion handler thread to be 1
2. Enabled the pcqueue lock for non-smp as the completion handler thread and the charm thread (representing a proc) will both access the pcqueue data structure.

11 years agoMerge branch 'charm' into development
Filippo Gioachin [Tue, 9 Feb 2010 01:20:43 +0000 (19:20 -0600)]
Merge branch 'charm' into development